Почему моя сборка не отображается в «Добавить ссылку> .Net» при установке в GAC? - PullRequest
13 голосов
/ 25 февраля 2011

Просто быстрый вопрос о GAC
Я создал сборку Awesome.DLL. Если бы он был подписан, а затем установлен в GAC:

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\ Я думаю, из-за этого я не могу увидеть Awesome.DLL из Add Reference> .Net.

Почему он не устанавливается на C:\Windows\Assembly\? Как я могу указать на это место вместо?

Ответы [ 3 ]

18 голосов
/ 25 февраля 2011

Ваша сборка установлена ​​в C:\WINDOWS\Microsoft.NET\assembly\ вместо C:\Windows\Assembly\, потому что это сборка .Net 4.0, а в версии 4.0 .Net framework есть новый отдельный GAC в этом месте.GAC, расположенный в C:\Windows\Assembly\, содержит только сборки .Net 2.0 - 3.5.(см. .NET 4.0 имеет новый GAC, почему? ).

Список сборок, найденных в Visual Studios «Добавить ссылку -> .Net».Диалог - это не просто список сборок, найденных в GAC (обратите внимание, что большинство записей в этом списке также не найдены в GAC).

Для получения информации о том, как добавить свою сборку в этот список, см.в следующей статье (в частности, в разделе «Отображение сборки в диалоговом окне Добавить ссылку»):

Обратите внимание, что используемый для этого раздел реестра различен для разных версий Visual Studio.

0 голосов
/ 30 сентября 2015

Проверьте свойства вашего проекта в vs2010 Меню проекта: я видел, что это проект ".NET Framework 4 Client Profile" и сборка ".NET 4 Fraemwork".Решение: Измените проект на профиль .NET Framework 4

0 голосов
/ 18 июня 2011

Я создал совершенно бесплатный инструмент, который поможет вам достичь вашей цели. Muse VSReferences позволит вам добавить ссылку на глобальный кэш сборок в проект из пункта меню Добавить ссылку GAC.

Надеюсь, это поможет.

...