W innym miejscu w sieci można znaleźć zalecenia dotyczące użycia czegoś podobnego do symulacji funkcji publikowania w IDE VS 2005-2008 z wiersza poleceń (mam nadzieję Nie skompromitowałem składni!):MSBuild target _CopyWebApplication nie kopiuje wszystkich niezbędnych plików do folderu bin
msbuild /t:ResolveReferences;_CopyWebApplication /p:BuildingProject=true;OutDir=C:\inetpub\wwwroot\ blah.csproj
Teraz wygląda jak drobna kopia .dll. Istnieją jednak pewne pliki konfiguracyjne i pliki szablonów, które są kopiowane do folderu bin, który jest potrzebny do działania aplikacji. Na przykład plik konfiguracji NHibernate przedstawia w blah.csproj jak:
<None Include="blah.cfg.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
Podczas korzystania z publikacji w ramach kopii IDE ten plik powinien, wspomniany cel _CopyWebApplication nie. Potrzebuję tego pliku do skopiowania w skrypcie budowania. Czy to pożądane zachowanie dla _CopyWebApplication? Wszelkie zalecenia dotyczące rozwiązania tego problemu?
EDIT 21.04.2010:
Pozwól mi wyjaśnić, że jesteśmy ograniczeni (na razie) do VS 2005 i VS 2008 projektów, a nasze skrypty kompilacji są zapisywane na MSBuild 3.x. Nie jesteśmy jeszcze gotowi, aby przenieść się do VS 2010.
Pozwolę sobie również sprecyzować, że szukamy rozwiązania dostępnego z poziomu wiersza poleceń, abyśmy mogli zautomatyzować polecenie typu Publish wraz z niestandardowymi opcjami kompilacji i ewentualnie automatyzować wdrażanie w dół drogi.
Nieparzysty, miałem ten sam problem i dodanie ResolveReferences przed _CopyWebApplication zostało dla mnie naprawione. Czy na pewno masz ustawioną wartość CopyLocal na wartość True we wszystkich swoich odniesieniach? –
Może chcesz sprawdzić ten błąd http://connect.microsoft.com/VisualStudio/feedback/details/383199/resolvereferences-does-not-correctly-walk-all-references-in-dependent-projects –
@Allen - I nie patrzy na CopyLocal. Przeczytam o tym. – apollodude217