2011-02-25 23 views
13

只是有一個關於GAC的快速問題
我創建了一個程序集Awesome.DLL。沒有簽署,然後安裝到GAC:爲什麼安裝到GAC時,我的程序集在「添加引用> .Net」中不可見?

C:\MyApps\Awesome\Awesome\Awesome\bin\Release>sn -k Awesome.snk 
Microsoft (R) .NET Framework Strong Name Utility Version 4.0.30319.1 
Copyright (c) Microsoft Corporation. All rights reserved. 

Key pair written to Awesome.snk 

C:\MyApps\Awesome\Awesome\Awesome\bin\Release>gacutil /i Awesome.dll 
Microsoft (R) .NET Global Assembly Cache Utility. Version 4.0.30319.1 
Copyright (c) Microsoft Corporation. All rights reserved. 

Assembly successfully added to the cache 

C:\MyApps\Awesome\Awesome\Awesome\bin\Release>gacutil /l Awesome.dll 
Microsoft (R) .NET Global Assembly Cache Utility. Version 4.0.30319.1 
Copyright (c) Microsoft Corporation. All rights reserved. 

The Global Assembly Cache contains the following assemblies: 

Number of items = 0 

我的問題:

Awesome.DLL不C:\Windows\Assembly或任何子文件的發現。它被發現,雖然在C:\WINDOWS\Microsoft.NET\assembly\GAC_MSIL\我猜是因爲這個,我無法從添加引用> .Net中看到Awesome.DLL。

爲什麼不安裝到C:\Windows\Assembly\?我怎樣才能指向那個位置呢?

回答

18

您的程序集安裝到C:\WINDOWS\Microsoft.NET\assembly\而不是C:\Windows\Assembly\,因爲它是一個.Net 4.0程序集,.NET Framework 4.0版在該位置有一個新的單獨的GAC。位於C:\Windows\Assembly\的GAC僅包含.Net 2.0 - 3.5程序集。 (見.NET 4.0 has a new GAC, why?)。

在Visual Studios中找到的程序集列表「添加引用 - > .Net」。對話框不僅僅是GAC中找到的程序集列表(請注意,該列表中的大部分條目都未在GAC中找到)。

有關如何將組件添加到這個列表,請參閱下面的文章信息(特別是「要在添加引用對話框中顯示的組件」一節):

請注意用於此的註冊表項對於不同版本的Visual Studio是不同的。

+0

如何啓用powershell以在新的GAC中查找.net 4程序集? – 2012-01-15 05:35:29

0

我創建了一個完全免費的工具,可以幫助您實現目標。 Muse VSReferences將允許您從「添加GAC參考」菜單項中將全局程序集緩存引用添加到項目。

希望這會有所幫助。

+0

你有計劃正式支持VS2012和VS2013嗎?支持新版本VS(即2012和2013)的My *非官方*升級可以在這裏下載(http://ge.tt/2COX9iS/v/1?c)。 – 2014-06-25 03:42:45

+0

有沒有計劃爲VS2015添加這個? – slayernoah 2016-04-28 18:51:13

0

檢查您的項目屬性在VS2010項目菜單: 我見過這是項目是「.NET Framework 4客戶端配置文件」和程序集是「.NET 4 Fraemwork」。 解決方案: 將項目更改爲「.NET Framework 4」配置文件

+0

你可以請你的答案格式化,再解釋一下嗎? – 2015-09-30 11:12:14

相關問題