我通過開發一個 32 位類別庫(我們稱之為 CustomComponent.dll)為 SSIS 創建了一個自定義組件。我正在 VS2015 中開發,目標是 SQL Server 2017。這一切正常,即我可以通過執行以下步驟在 Visual Studio 中看到該組件:
- 將 CustomComponent.dll 復制到
"C:\Program Files (x86)\Microsoft SQL Server\140\DTS\PipelineComponents" - 使用將類別庫添加到 gac
"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\gacutil.exe" -i CustomComponent.dll
我遇到的問題是自定義組件現在必須是 64 位 dll,因為參考了 64 位的 3rd 方庫(這些也添加到 gac,還添加了 32 位版本)。我做了以下事情:
- 洗掉了之前添加到 gac 的內容
"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\gacutil.exe" -u CustomComponent - 洗掉了 CustomComponent.dll 在
"C:\Program Files (x86)\Microsoft SQL Server\140\DTS\PipelineComponents" - 使用x64檔案夾下的gacutil
"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\x64\gacutil.exe" -i CustomComponent.dll - 將 CustomComponent.dll 添加到
"C:\Program Files\Microsoft SQL Server\140\DTS\PipelineComponents"
但我在 VS 中看不到該組件。
- 以上沒有奏效。我也嘗試復制 dll
"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\gacutil.exe"仍然沒有運氣。
知道如何使這項作業能夠查看 64 位 dll 中的組件嗎?也許是一個顯示演練或嘗試方法的鏈接?
此鏈接顯示了一個簡單的組件。但是,如果它被編譯為針對 SQL 2017 的等效 64 位 dll,我會遇到同樣的問題:
- 開發自定義 SSIS 源組件
uj5u.com熱心網友回復:
由于Visual Studio 是 32 位應用程式,因此您需要添加 32 位版本。
據我所知,GAC 支持添加兩個版本,并且每個版本都有一個單獨的目錄(GAC_64,GAC_MSIL ...)。您應該添加這兩個組件并且只更改Run64bitRuntime屬性以在 64 位模式下執行包。
如果您在 Visual Studio 之外執行包,您可以參考以下鏈接了解更多資訊:
- 64 位 SSIS 包
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/440026.html
上一篇:如果我減少分配給ElasticSearchforAzureDevopsServerExpress的RAM量怎么辦?
