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 フォルダーにコピーしないのはなぜですか?