10

Podniosłem dla tego zachowania connect issue.Kopie VS 2015 do wyprowadzania odwołań GAC do referencji projektu niezależnie od ustawienia lokalnego kopiowania

kopiuje na wyjście GAC odniesienia do referencji projektu niezależnie od ustawienia lokalnego kopiowania. VS 2010 nie robi tego z tym samym rozwiązaniem & projektów, z poszanowaniem lokalnej kopii. Jedynym sposobem obejścia tego problemu jest dodanie bezpośredniego odnośnika do Microsoft.Web.Services3.dll w projekcie A i ustawienie go tak, aby kopiował lokalny = fałsz.

Kroki do odtworzenia:

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

Actual:

Microsoft.Web.Services3.dll jest kopiowany do katalogu wyjściowego projektu A.

spodziewanych:

Microsoft.Web.Services3.dll nie jest kopiowany do katalogu wyjściowego projektu A.

Jakiś pomysł, dlaczego tak się dzieje? MSDN documentation wyraźnie stwierdza, że ​​zależności nie powinny być kopiowane na wyjście i czy jest to zgodne z VS 2010.

+0

FYI, VS2013 również to respektuje (przynajmniej w moich przypadkach). Prawdopodobnie poczekam na aktualizację 1 do VS 2015 przed migracją do niej. –

+0

Tak, lepiej poczekaj - zanim przerwiesz proces kompilacji :) – vezenkov

+1

Musisz się dowiedzieć, jak MSBuild był w stanie znaleźć tę bibliotekę DLL w pierwszej kolejności. Nie powinno być obecne w katalogu kompilacji B, wygląda na to, że było. Zmień szczegółowość MSBuild na Szczegółowy i opublikuj odpowiednie wiersze z otrzymanego śladu. –

Odpowiedz

1

Kiedy przeprowadziłem się z VS2013 do VS2015, natknąłem się na podobny problem z kilkoma zespołami GAC firm trzecich. Rozwiązaniem było dla mnie przejście do każdego pliku .csproj i dodanie następującego:

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

Wygląda na to, że to pytanie pochodzi sprzed kilku miesięcy. Chyba powinienem to sprawdzić, zanim odpowiem na pytania, na które najprawdopodobniej odpowiem gdzie indziej. –

Powiązane problemy