.net WinForm程式中呼叫Visual Studio IDE 中資料連線配置介面 (一個DLL搞定)
玩過直接調 資料庫配置介面的一定對如下三個東西不陌生
Microsoft.Data.ConnectionUI.Dialog.dll -- 微軟自帶的資料連線配置介面庫
Microsoft.Data.ConnectionUI.dll --微軟自帶的資料連線配置介面庫
Microsoft.Data.ConnectionUI.Dialog.resources.dll 微軟自帶的資料連線配置介面庫語言包
現在的問題是,這三個東西原生態的使用會造成釋出exe 時候生成如下結構
App
---App.exe
---Microsoft.Data.ConnectionUI.Dialog.dll
---Microsoft.Data.ConnectionUI.dll
---zh-CN
---Microsoft.Data.ConnectionUI.Dialog.resources.dll
由於原生的DLL與語言包之間是使用.net 資源DLL(Microsoft.Data.ConnectionUI.Dialog.resources.dll)“Zh-CN” 對應關係,所有在應用程式的物理儲存上面看上去不是太美觀。介於此本人想整合三個DLL為一個DLL,直接在程式中使用,釋出程式如下圖所示的儲存分佈。
App
---App.exe
---DBConnectSetting.dll
一個 DBConnectSetting.dll 包含上述三個關鍵的DLL,也就是這次整合的核心關鍵。
解決思路
1、整合
Microsoft.Data.ConnectionUI.Dialog.dll
Microsoft.Data.ConnectionUI.dll
這兩個是核心程式碼,所有的邏輯都在這個兩個裡面。
2、本地化整合後的
DBConnectSetting.dll 使其自生包含中文,不再外掛資源 Microsoft.Data.ConnectionUI.Dialog.resources.dll
實施過程:
1、整合兩個 DLL 使用 ILMergeGui,注意是需要先安裝ILMerge
選擇兩個檔案後後,合併輸出即可。主要合併配置如下
2、本地化
使用DotNetHelper反編譯 Microsoft.Data.ConnectionUI.Dialog.resources.dll ,提取所包含的資原始檔,並使用帶有Zh-CN 的資原始檔替換不帶有Zh-CN的資原始檔,複製一份處理好的資原始檔準備一下步的操作。
3、反編譯合併後的檔案DBConnectSetting.dll 同樣輸出上圖中的資原始檔,將剛才準備好的資原始檔全部替換覆蓋,再次使用DotNetHelper 重新編譯。
最終生成的DBConnectSetting.dll 就是漢化好了的檔案了。注:在這次整合的重新編譯時候出現報錯,重新編譯不過去,後面注意觀察是翻譯後的資原始檔字串過長導致,個別資原始檔報錯,就使用 Resourcer for .NET 矯正一下即可。
4、完工!
程式中呼叫展示:
點選 更改資料來源 可支援多資料來源型別,這些都是微軟這個組建自生支援的。
點選高階,可詳細的配置連線字串,也是這個微軟原生 所支援的。
C# 中程式碼如下:
Microsoft.Data.ConnectionUI.DataConnectionDialog dlg = new Microsoft.Data.ConnectionUI.DataConnectionDialog();
//新增介面所支援的資料來源型別
dlg.DataSources.Add(Microsoft.Data.ConnectionUI.DataSource.SqlDataSource);
dlg.DataSources.Add(Microsoft.Data.ConnectionUI.DataSource.AccessDataSource);
dlg.DataSources.Add(Microsoft.Data.ConnectionUI.DataSource.OdbcDataSource);
dlg.DataSources.Add(Microsoft.Data.ConnectionUI.DataSource.OracleDataSource);
dlg.DataSources.Add(Microsoft.Data.ConnectionUI.DataSource.SqlFileDataSource);
dlg.SelectedDataSource = Microsoft.Data.ConnectionUI.DataSource.SqlDataSource;
dlg.SelectedDataProvider = Microsoft.Data.ConnectionUI.DataProvider.SqlDataProvider;
//賦值一個已存在的連線字串給介面控制元件
dlg.ConnectionString = this.ConnectString;
Microsoft.Data.ConnectionUI.DataConnectionDialog.Show(dlg,owner);
if (!String.IsNullOrEmpty(dlg.ConnectionString))
{
//儲存修改過的介面配置連線到文字
this.ConnectString = dlg.ConnectionString;
}
程式碼上很簡單,其實也就是直接用微軟寫好的東西。
自己寫也可以寫,也不難,但是有現成的就用吧!
相關推薦
.net WinForm程式中呼叫Visual Studio IDE 中資料連線配置介面 (一個DLL搞定)
玩過直接調 資料庫配置介面的一定對如下三個東西不陌生 Microsoft.Data.ConnectionUI.Dialog.dll -- 微軟自帶的資料連線配置介面庫 Microsoft.Data.ConnectionUI.dll --微軟自帶的資料連線配置介面庫 Micr
Visual Studio IDE中快速進行h檔案和cpp檔案切換的巨集
新建一個巨集模組,把以下程式碼複製到模組中儲存,然後選擇“工具->選項->環境->鍵盤”,在顯示命令包含中輸入SourceHeaderJumper找到相應命令,選中後繫結一個快捷鍵即可。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
在 Visual Studio 2010 中創建 ASP.Net Web Service
準備 visual sdn 自己 pac arp 多人 blog als http://blog.csdn.net/yapingxin/article/details/7331375 很多人在論壇裏說,在Visual Studio 2010中不能創建“ASP.Net Web
在Visual Studio 2017中,.NET(C#)通過Oracle.ManagedDataAccess來連接Oracle數據庫
成了 lin cnblogs img 輸入 cli acl 程序 選擇 C#如何通過Oracle.ManagedDataAccess來連接Oracle數據庫 1、先創建一個項目,鼠標右擊項目中的引用,再點擊管理NuGet程序包(也可以先下載dll文件,再選添加引用),在搜索
Visual Studio 2017中使用SourceLink除錯ASP.NET Core原始碼
背景 當我們在學習ASP.NET Core或者除錯ASP.NET Core程式的時候,有時候需要除錯底層程式碼,但是當我們在Visual Studio中除錯程式的時候,由於一些基礎庫或者第三方庫缺少pdb檔案,所以除錯這些庫的程式碼的時候,會出現斷點不能進去的情況。 例如,在如下程式碼中,我們希望除錯
Visual Studio 2013中.dll檔案的顯式呼叫方法
為什麼需要dll 程式碼複用是提高軟體開發效率的重要途徑。一般而言,只要某部分程式碼具有通用性,就可將它構造成相對獨立的功能模組並在之後的專案中重複使用。比較常見的例子是各種應用程式框架,
【廣州.NET社群推薦】【譯】Visual Studio 2019 中 WPF & UWP 的 XAML 開發工具新特性
原文 | Dmitry 翻譯 | 鄭子銘 自Visual Studio 2019推出以來,我們為使用WPF或UWP桌面應用程式的XAML開發人員釋出了許多新功能。在本週的 Visual Studio 2019 版本 16.4 和 16.5 Preview 1中,我們希望藉此機會回顧一下全年的新變化。如果您錯過
【Asp.Net Core】一、Visual Studio 2015 和 .NET Core 安裝
過濾器 int 3.2 屬性和方法 static 資料 c3p0 案例 handling 安裝 Visual Studio 和 .NET Core 1、安裝 Visual Studio Community 2015,選擇 Community 下載並執行默認安裝。Visual
Visual Studio Debugger中七個鮮為人知的小功能
.cn disable 轉載 解決問題 內存 初始 -668 調試工具 利用 Visual Studio debugger是一個很棒的調試工具,可以幫助程序猿們快速地發現和解決問題。這裏給大家簡單介紹一下VS調試工具中的七個鮮為人知的小功能。 1. 一鍵跳轉到指定語句
微軟移除Visual Studio 2015中的UML
世紀 價值 rdquo arc 必須 lan uml 其中 產品 微軟已經在Visual Studio 2015中移除了UML(Unified Modeling Language,統一建模語言),原因是該語言使用率過低。因此微軟要優化產品結構,把好鋼用在刀刃上。 Visu
在 Visual Studio 2015 中關閉 Browser Link
ebr errors spa style set add web log ble 從 Visual Studio 2013 起,增加了Browser Link功能。實際上,是一個很討厭的東西(不知道功用是什麽),在debug mode下,一直向瀏覽器的debug cons
Visual studio 2017 中的Javascript智能提示
內容 工具 csdn uid 下界 target 拖動 js調試 腳本 1、智能提示 對於JS文件中的API,你若需要讓那個JS文件中的方法能夠在你寫的那個JS文件中能夠智能顯示的話,直接把它拉進你的JS文件中就好了。 舉個例子:你想 在你正在寫的a.js文件中引用b
Visual Studio Code中JavaScript開發環境的配置
擴展 下載 ner con 針對 文件夾 技術 一個 添加 Visual Studio Code簡稱VS Code,是一款由微軟公司免費開源的現代化輕量級代碼編輯器,幾乎支持所有的主流開發語言的語法高亮、自定義熱鍵、代碼片段、括號匹配等諸多特性,還支持插件擴展,並針對網
C#基礎總結(二) —— C#開發工具 Visual Studio(IDE)
暫停 基本上 必備 img 包含 adl 裏的 方案 運行 一、Visual Studio Visual Studio 是微軟公司的一個開發工具集,是C#開發必備利器。下面附上VS2013簡體中文社區版的下載地址: 鏈接:https://pan.baidu.com
windows通過Visual Studio Code中配置GO開發環境(轉)
fin gpe def 微軟 sqs oba 安裝插件 包括 ont 一、GO語言安裝 詳情查看:GO語言下載、安裝、配置 二、GoLang插件介紹 對於Visual Studio Code開發工具,有一款優秀的GoLang插件,它的主頁為:https://gith
在Visual Studio 2017中安裝bower
png val web 4.0 項目 http mage .net oot 在項目目錄下添加一個文件.bowerrc { "directory": "wwwroot/lib" } JS包默認安裝到webroot的lib文件夾,可以通過.bowerrc文件更改安裝路徑
Create A .NET Core Development Environment Using Visual Studio Code
https://www.c-sharpcorner.com/article/create-a-net-core-development-environment-using-visual-studio-code2/ https://www.cnblogs.com/yilezhu/p/9926078.html
在visual studio 2013中使用scss
前提是,你已經安裝了Sass,Sass教程傳送門,按照教程一步一步來,已經很詳細了。 1、安裝兩個Visual Studio相容Sass的外掛,需要翻牆,我沒翻牆,不到30M下了半小時 https://marketplace.visualstudio.com/items?itemName
Visual Studio Code中git的使用
切換分支 git checkout 分支名稱 淘寶映象:cnpm install 啟動專案:npm run dev 同步原生代碼 git pull 暫存:git add . 提交到本地版本:git commit -m “登入頁面樣式修改” 提交到遠端倉庫:git
Visual Studio 2017中使用Libman管理客戶端庫
什麼是Libman 微軟在Visual Studio 2017 15.8版本中內嵌了一個新的工具Library Manager。 Library Manager(簡稱Libman)是一個客戶端庫管理工具, 使用它可以很容易的管理專案中使用的客戶端js庫, css庫等,Libman相當於一個針對客戶端庫的Nu