Папка отсутствующих сборок для .NET 4.0 - PullRequest
14 голосов
/ 16 ноября 2011

Похоже, что начиная с .NET 3.0, Microsoft перенесла некоторые общие сборки на

C:\Program Files\Reference Assemblies\Microsoft\Framework\xxx

, чтобы поддержать их усилия по разделению GAC CLR 2.0 и CLR 4.0 (также добавив

C:\%windir%\Microsoft.NET\assembly).

Однако, хотя у меня есть и

C:\Program Files\Reference Assemblies\Microsoft\Framework\xxx

и

C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0

на моей машине для разработки, последняяне существует на сервере, где я только что установил .NET 4.0.Развернутый там проект WCF ссылается на некоторые распространенные библиотеки DLL из этой папки и не может их найти.

Что я делаю не так?Должен ли я явно изменить эти ссылки на новый 4.0 GAC?Почему эта папка не существует на сервере?

1 Ответ

22 голосов
/ 21 ноября 2011

Папка Reference Assemblies используется вместе с Visual Studio.В то время как фактическое развернутое приложение будет использовать GAC в c: \ Windows \ Microsoft.Net \ Assembly.Я предполагаю, что вы не установили Visual Studio на свой сервер, поэтому у вас не будет папки с ссылочными сборками.

Если вы размещаете WCF на сервере, вам необходимо убедиться, что вы установили .NET 4.0 Full Frameworkа не только клиентская среда.

...