Visual Studio 2012 UI を使用して、サード パーティの非参照アセンブリを Webdeploy 経由でデプロイするのに苦労しています。いくつかのアセンブリを含む「ライブラリ」というフォルダーがあります。*.csproj ファイルで次のようにすると、ビルド アクションを「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>
これはうまくいきます。ビルドすると、アセンブリが bin フォルダーのルートにコピーされます :-) 問題が 1 つあります。これらのファイルを Webdeploy 経由でサーバーに公開できません。私は多くのことを試しましたが、このタスクに適した MSBuild ターゲットが見つからないようです... Visual Studio 2010 では、これを使用できます。
<Target Name="MyTargetName">
<Message Text="Deploy | Third party assemblies" Importance="high" />
<Copy DestinationFolder="$(OutputPath)" SourceFiles="@(ThirdPartyAssemblies)" SkipUnchangedFiles="true" />
</Target>
<PropertyGroup>
<OnAfterCopyAllFilesToSingleFolderForPackage>
MyTargetName
</OnAfterCopyAllFilesToSingleFolderForPackage>
</PropertyGroup>
問題は; OnAfterCopyAllFilesToSingleFolderForPackage
ターゲットはもう呼び出されません:- /
を掘り下げた後C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets' file, I've also tried 'OnAfterCopyAllFilesToSingleFolderForMsdeploy
、しかし、私はそれを動作させることができません。
これらのアセンブリを Webdeploy を使用してパッケージ フォルダー/サーバーにコピーするために使用できるターゲットを誰か教えてもらえますか?
Visual Studio 2012 が完全な bin フォルダーを Package フォルダーにコピーしないのはなぜですか?