[英]What gacutil.exe should I use?
因此,在 Win 2008 R2 Std x64 上,我有 6(六個)gacutil.exe,它們完全不同(不包括 VS 文件夾中的那些),位於:
問題是:
x64
版本在行為上有什么不同嗎?v7.0A
版本而v6.0A
其他v6.0A
版本嗎?NETFX 4.0 Tools
版本,其余的使用“標准”版本嗎?或者,如果有關於該主題的一些通用類型的文章,我將不勝感激。
更新 1.關於Hans Passant 的回答:
更新 2。
因此,在我看來,對於 Windows x86 和 x64 上的所有 GAC 操作,似乎可以安全地使用數字 3(然后 .NET4.0 不可用)或數字 5。 問題的答案是:
NETFX 4.0 Tools
版本(如果 .NET4.0 可用)用於所有 GAC 操作。Gacutil.exe 是 Windows SDK 工具,而不是 .NET 框架工具。 您的機器上有兩個版本的 SDK。 你從 VS2008 安裝得到 6.0A,從 VS2010 安裝得到 7.0A。 您還有一個 64 位操作系統,因此您也獲得了 64 位工具。 這對 gacutil.exe 無關緊要,不知道為什么它們單獨包含它。 可能是為了讓 Visual Studio 命令提示符正常工作,請注意您有不同的 32 位和 64 位版本。 這對 C++ 項目很重要。 VS2010 允許同時針對 CLR 版本 4 和 CLR 版本 2,所以總共有 6 個版本。
重要的是您的機器上有兩個 GAC。 .NET 4 程序集的 GAC 存儲在 c:\\windows\\microsoft.net\\assembly 中。 對於早期版本,它存儲在 c:\\windows\\assembly 中。 您必須使用正確版本的 gacutil.exe 才能將程序集放入正確的 GAC。 對於面向 .NET 4 的程序集,您必須使用 Bin\\NETFX 4.0 Tools 中的程序集。 對於較早的,您必須使用 Bin 中的那個。
最好不要使用它,程序集應該在開發機器上設置 Copy Local 屬性。 GAC 是一個部署細節,當您的 GAC 具有您用戶的 GAC 沒有的程序集時,您會遇到麻煩。
簡短版本:如果您安裝了 .NET 4.0,請使用NETFX 4.0 Tools
版本。 否則真的無所謂。
問題的回答:
NETFX 4.0 Tools
版本。 不確定是否可以安裝 v7.0 SDK 而未安裝 .NET 4.0。NETFX 4.0 Tools
版本用於所有 GAC 操作。這不是最好的答案,但我注意到一個觀察結果。 根據為相關 Visual Studio 安裝開發的應用程序所使用的內容,使用最新版本文件夾。
C:\Program Files (x86)\Microsoft SDKs\Windows\{SDK version}\bin\NETFX 4.5.1 Tools\gacutil.exe
在比較 Visual Studio 安裝的控制面板 > 程序和功能 >“安裝日期”時,我在此處看到許多不同的文件夾。 我猜在這兩個安裝過程中更新了多個文件夾。
“gacutil.exe”所在的文件夾和修改日期:
C:\Program Files (x86)\Microsoft SDKs\Windows\
C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\ - 3/20/2014
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\ - 3/20/2014
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\ - 5/15/2015
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0\ - 3/20/2014
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\ - 5/15/2015
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1\ - 5/15/2015
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\ - 5/15/2015
具有“安裝於”日期的 Windows Visual Studio 安裝:
Visual Studio 2012 - 3/20/2014
Visual Studio 2013 - 5/15/2015
為了比較 GAC 中的內容,我運行了這個命令並對文件進行了比較。
cd C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\
gacutil /l > c:\v8.1A.gac.txt
然后我為每個版本適當地更改了文件夾。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.