Objetivos de MSBuild y problemas de Visual Studio 2012
Me está costando mucho que mis ensamblajes de terceros que no son de referencia se implementen a través de Webdeploy dentro de la interfaz de usuario de Visual Studio 2012. Tengo una carpeta llamada 'bibliotecas', que contiene algunos ensamblajes. A través de lo siguiente en mi archivo * .csproj puedo configurar elConstruir acción a 'ThirdPartyAssemblies':
<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>
Esto funciona muy bien; cuando compilo, los ensamblajes se copian en la raíz de la carpeta bin :-) Ahora tengo un problema: no puedo publicar estos archivos en el servidor a través de Webdeploy. He intentado muchas cosas, parece que no puedo encontrar un objetivo de MSBuild adecuado para esta tarea ... Con Visual Studio 2010 podría usar esto:
<Target Name="MyTargetName">
<Message Text="Deploy | Third party assemblies" Importance="high" />
<Copy DestinationFolder="$(OutputPath)" SourceFiles="@(ThirdPartyAssemblies)" SkipUnchangedFiles="true" />
</Target>
<PropertyGroup>
<OnAfterCopyAllFilesToSingleFolderForPackage>
MyTargetName
</OnAfterCopyAllFilesToSingleFolderForPackage>
</PropertyGroup>
El problema es; laOnAfterCopyAllFilesToSingleFolderForPackage
objetivo ya no se llama: - /
Después de cavar en elC:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets' file, I've also tried 'OnAfterCopyAllFilesToSingleFolderForMsdeploy
, pero simplemente no puedo hacerlo funcionar.
¿Alguien puede decirme qué destino puedo usar para copiar esos ensamblajes en la carpeta de paquetes / el servidor con Webdeploy?
¿Por qué Visual Studio 2012 no copia la carpeta bin completa a la carpeta del paquete?