我想导出项目中构建的程序集。但他们在哪里存放?
答案 0 :(得分:11)
在我写完问题后,我实际上发现了这篇文章。这真的很好解释:
如果您导航到
,您将能够看到它们 c:\windows\assembly
答案 1 :(得分:3)
它们存储在%systemroot%中名为程序集
的文件夹中%SystemRoot%变量是Microsoft Windows NT及其衍生产品上的特殊系统范围环境变量。它的值是系统文件夹的位置,包括驱动器和路径。
驱动器与%SystemDrive%相同,并且全新安装的默认路径取决于操作系统的版本。默认情况下,在干净安装上:
* Windows NT 5.1 (Windows XP) and newer versions use \WINDOWS
* Windows NT 5.0 (Windows 2000), Windows NT 4.0 and Windows NT 3.1 use \WINNT
* Windows NT 3.5x uses \WINNT35
(来自维基百科)
答案 2 :(得分:2)
GAC的物理位置是%WINDIR%,f.e。
下的Assembly目录c:\windows\assembly
您可以使用资源管理器或gacutil程序将程序集复制到gac。
答案 3 :(得分:1)
不,物理程序集不存储在“C:\ Windows \ assembly”中。 只有对程序集的引用存储在那里。 例如,程序集“System.Windows.Forms.dll” (以及.NET Framework程序集的大部分) 在许多版本中物理存储在“C:\ Windows \ winsxs”中,针对许多平台进行了优化 (只需在资源管理器中转到“C:\ Windows \ winsxs”并在搜索框中键入“System.Windows.Forms.dll”)。 例如,您可以创建强名称程序集,将其注册到GAC,但它的物理位置是您放置程序集文件的位置。 (例如“C:\ Users \%username%\ Documents \ Visual Studio 2008 \ Projects \ YourAssemblyProjectName \ YourAssemblyProjectName \ bin \ Debug” - VS项目默认目录)。 而且,在GAC中只存储了对程序集的引用,因此如果重建已在GAC中注册的程序集,那么使用程序集的程序集(通过GAC引用它)也将使用程序集的重建版本。 / p>