10

Для этого я создал connect issue.VS 2015 копирует выходные данные GAC ссылки на проект независимо от локального значения копирования

VS 2015 копии для вывода GAC ссылки на ссылку на проект независимо от локальной настройки копирования. VS 2010 не делает этого с тем же решением & проектов, соблюдая копию местного имущества. Единственным обходным решением, которое я нашел до сих пор, является добавление прямой ссылки на Microsoft.Web.Services3.dll в Project A и установка его для копирования local = false.

Шаги для воспроизведения:

Project A 
|__ Project B (Project Reference, copy local = true) 
    |__Microsoft.Web.Services3.dll (GAC, copy local = false) 

Actual:

Microsoft.Web.Services3.dll копируется в выходной каталог проекта А.

Ожидаемое:

Microsoft.Web.Services3.dll не копируется в выходной каталог проекта A.

Любая идея, почему это происходит? В MSDN documentation четко указано, что GAC зависимостей не следует копировать на вывод и VS 2010 уважает это.

+0

FYI, VS2013 уважает это тоже (по крайней мере, с моими случаями). Я, вероятно, дожидаюсь обновления 1 до VS 2015 перед его переносом на него. –

+0

Да, лучше подождать - прежде чем вы нарушите свой процесс сборки :) – vezenkov

+1

Вам нужно выяснить, как MSBuild смог найти эту DLL в первую очередь. Он не должен присутствовать в каталоге сборки B, выглядит так. Измените многословность MSBuild на «Детально» и разместите соответствующие строки на полученной трассе. –

ответ

1

Когда я перешел с VS2013 на VS2015, я столкнулся с аналогичной проблемой с несколькими сторонними сборками GAC. Решение для меня состояло в том, чтобы войти в каждый файл .csproj и добавить следующее:

<PropertyGroup> 
    <DoNotCopyLocalIfInGac>true</DoNotCopyLocalIfInGac> 
</PropertyGroup> 
+0

Кажется, что этот вопрос был от нескольких месяцев назад. Наверное, я должен проверить, что прежде чем отвечать на вопросы, скорее всего, ответят в другом месте. –