私たちは内部で開発し使用しているナゲットパッケージを持っています。 1つのパッケージには、展開が必要な追加のアンマネージDLLがあります。 VS2015では、Webアプリケーションプロジェクトを右クリックし、テストサーバーに公開します。パッケージ内のアンマネージDLLは公開されていませんが、マシンのbinフォルダにあります。私は公開するとカスタムNugetパッケージファイルは、Web公開で余分なファイルを展開していません
<?xml version="1.0" encoding="utf-8" ?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="ExtraFilesPublishTarget">
<Message Text="########### NUGET DEPLOY ###########"/>
<ItemGroup>
<DistFiles Include="$(MSBuildThisFileDirectory)..\lib\dist\**\*.*"/>
<FilesForPackagingFromProject Include="%(DistFiles.Identity)">
<DestinationRelativePath>\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
</Target>
<Target Name="DistBuildTarget" AfterTargets="Build">
<ItemGroup>
<DistFiles Include="$(MSBuildThisFileDirectory)..\lib\dist\**\*.*"/>
</ItemGroup>
<Microsoft.Build.Tasks.Copy SourceFiles="@(DistFiles)" DestinationFiles="@(DistFiles->'$(OutputPath)\%(RecursiveDir)%(Filename)%(Extension)')" />
</Target>
<PropertyGroup>
<copyallfilestosinglefolderforpackagedependson>
ExtraFilesPublishTarget;
$(copyallfilestosinglefolderforpackagedependson);
</copyallfilestosinglefolderforpackagedependson>
<copyallfilestosinglefolderformsdeploydependson>
ExtraFilesPublishTarget;
$(copyallfilestosinglefolderforpackagedependson);
</copyallfilestosinglefolderformsdeploydependson>
</PropertyGroup>
</Project>
が、私はNUGET DEPLOYメッセージが表示されますが、出力ウィンドウに次の行は、「ターゲット 『ExtraFilesPublishTarget』はスキップさ:
は、ここで私は、パッケージのターゲットファイルにしようとしているものです。以前は正常に構築されました。
私はこの問題をカバーするような別の記事を見つけました。 http://blog.mjjames.co.uk/2012/10/deploying-non-project-files-with-web.html 私が今問題としているのは、ターゲット名がVSによって見つからないということだけです。コンテンツをcsprojファイルにコピーすると、それは動作します。プロジェクトファイルが.targetファイル内のターゲットを認識していないようです。 – BCarlson