2009-08-27 46 views

回答

10

這由解決方案的manifest.xml中的DeploymentTarget屬性確定。如果您在維護該文件本身,使用下面的語法將代碼部署到GAC:

<Assemblies> 
    <Assembly DeploymentTarget="GlobalAssemblyCache" 
      Location="MyGAC.dll" /> 
</Assemblies> 

如果您正在使用的工具來創建解決方案,這取決於工具。 WSPBuilder默認部署到GAC,但可以配置其他方式。有關如何部署到bin的步驟,請參閱「爲BIN規劃程序集以獲取BIN而不是GAC(包括代碼訪問安全生成)」部分this article by Tobias Zimmergren

+0

感謝Alex,我使用WSP Builder,所以我想我得到了這個好處。 – 2009-08-31 05:34:49

2

由於該命令說addsolution它只是將解決方案添加到解決方案商店。您需要致電部署解決方案以獲取所需材料。下面是你需要調用

stsadmin -o deploysolution -name [solutionname] -allowgacdeployment 

注意allowgacdeployment是強制性的文件放在海關總署的指令。你可以通過這個命令對此命令提供更多的幫助。

STSADM.EXE -help deploysolution 

有一個替代選項可以通過UI來完成這個任務。轉到中央管理 - >操作 - >解決方案管理選擇解決方案並說部署。這將是更簡單的方法來快速完成它。

+1

我認爲解決方案的清單文件必須定義程序集應該部署到GAC而不是Web應用程序的bin文件夾也很重要。這可以通過節點的DeploymentTarget屬性來定義。 – Flo 2009-08-27 08:22:36

+2

是的,我同意。如果你想使它非常簡單,你可以使用http://www.codeplex.com/wspbuilder在你需要將程序集放到名爲GAC的文件夾中,這樣該屬性就被工具保護了。 – Kusek 2009-08-27 09:02:31

4

如果您是通過VS構建軟件包,請打開軟件包並單擊底部的高級選項卡。您將能夠添加其他程序集並從這裏指定部署目標。我強烈建議這樣做,而不是直接更新XML ......但這只是我。

+0

我可以在Visual Studio 2010中確認這適用於我。我認爲這是可維護的開箱即用解決方案的最完整答案。 – 2012-12-21 18:17:33