Ho difficoltà a far distribuire i miei assembly non di terze parti tramite Webdeploy con l'interfaccia utente di Visual Studio 2012. Ho una cartella chiamata 'librerie', che contiene alcuni assiemi. Via quanto segue nel mio file Csproj * posso impostare l'azione Corporatura a 'ThirdPartyAssemblies':Obiettivi di MSBuild e Visual Studio 2012
<ItemGroup>
<AvailableItemName Include="ThirdPartyAssemblies">
<Visible>false</Visible>
</AvailableItemName>
</ItemGroup>
<Target Name="AfterBuild">
<Message Text="Build | Third party assemblies" Importance="high" />
<Copy DestinationFolder="$(OutputPath)" SourceFiles="@(ThirdPartyAssemblies)" SkipUnchangedFiles="true" />
</Target>
Questa grande opera; quando costruisco, gli assembly vengono copiati nella root della cartella bin :-) Ora ho un problema: non riesco a far pubblicare questi file sul server tramite Webdeploy. Ho provato molte cose, sembra proprio come non riesco a trovare un bersaglio adatto MSBuild per questo compito ... Con Visual Studio 2010 ho potuto utilizzare questo:
<Target Name="MyTargetName">
<Message Text="Deploy | Third party assemblies" Importance="high" />
<Copy DestinationFolder="$(OutputPath)" SourceFiles="@(ThirdPartyAssemblies)" SkipUnchangedFiles="true" />
</Target>
<PropertyGroup>
<OnAfterCopyAllFilesToSingleFolderForPackage>
MyTargetName
</OnAfterCopyAllFilesToSingleFolderForPackage>
</PropertyGroup>
Il problema è; il target OnAfterCopyAllFilesToSingleFolderForPackage
non viene più chiamato: -/
Dopo aver scavato nel C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets' file, I've also tried 'OnAfterCopyAllFilesToSingleFolderForMsdeploy
, ma proprio non riesco a farlo funzionare.
Qualcuno può dirmi quale destinazione posso utilizzare per copiare quegli assembly nella cartella Package/il server con Webdeploy?
Perché Visual Studio 2012 non copia la cartella bin completa nella cartella Package?
FYI VS2010 utilizzato anche msbuild 4.0 –
Lo so;). Non hai affatto bisogno di VS. MSBuild parte di .NET FW, quindi puoi usarlo senza studio. Tranne che vs2010 non usa veramente msbuild.exe, ma VS2012 sì. Ma questa roba è pignola, non legata a domande e risposte. –