2012-11-19 19 views
1

我有一個使用Pkcs12ProtectedConfigurationProvider的項目。在針對windows server 2008 sp2或r2時,在azure中使用此dll時從未遇到任何問題。但是,當我嘗試使用Windows Server 2012(osFamily =「3」)部署到Azure時,出現了一個異常,指出無法找到程序集。正確運行windows server server的gacutil命令語法

我隱約記得在模擬器中遇到這個問題,解決方案是將此dll添加到GAC。我搜索了一下,發現these instructions關於如何將一個DLL安裝到GAC中作爲一個天藍色的啓動任務。只要我在web角色項目的根目錄中有gacutil和相關的.cmd文件,所有東西都可以工作。不過,我想將其移入其中有其他啓動命令的應用程序的/啓動文件夾中。

到目前爲止,我一直無法得到這個工作。 gacutil並不是非常有用,因爲我在運行命令後無法顯示任何輸出。這是我曾嘗試:

<Startup> 
    <!-- other tasks, such as disabling the IIS idle timeout --> 
    <Task commandLine="startup\gacRegistrations.cmd" executionContext="elevated" taskType="simple" /> 
</Startup> 
在gacRegistrations.cmd文件

在csdef文件

gacutil /nologo /i ..\PKCS12ProtectedConfigurationProvider.dll 
exit /b 0 

我認爲這個問題與語法做引用的DLL位於cmd文件中。所有相關文件都設置爲構建操作:無,並複製到輸出目錄:始終複製。但是,gacutil.exe和cmd文件被複制到webrole/bin/startup,而PKCS12ProtectedConfigurationProvider.dll文件在webrole/bin中是1個文件夾。

這裏的正確語法是什麼?我應該嘗試gacutil /nologo /i ..\.\PKCS12ProtectedConfigurationProvider.dll嗎?就像我說的,當文件沒有嵌套在/ startup目錄中時,一切正常。

回答

2

當前目錄總是bin文件夾,所以你應該嘗試以下方法:

startup\gacutil /nologo /i PKCS12ProtectedConfigurationProvider.dll 
exit /b 0 
+0

是的,這做到了。謝謝您的幫助。 – danludwig

相關問題