私はWebサイト用のVisual Studio 2012パッケージ機能を使用しています。フォルダを圧縮する前に、いくつかのサブフォルダをパッケージ宛先に収集するカスタムターゲットがあります。 これはうまくいきましたvs10を使用していますが、新しいパッケージャvs12では、これらの設定に関心がなくなり、正しく移行されていません。 何か似たようなことをする方法はありますか?CopyAllFilesToSingleFolderForPackageDependsOnはvs12でサポートされなくなりました
これは、VS10のように見えるために使用されるものです:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<!-- Begin copy Contracts &Provider directories -->
<CopyAllFilesToSingleFolderForPackageDependsOn>
CustomCollectFiles;
$(CopyAllFilesToSingleFolderForPackageDependsOn);
</CopyAllFilesToSingleFolderForPackageDependsOn>
<DesktopBuildPackageLocation>..\Package\Release\projectname.zip</DesktopBuildPackageLocation>
<DeployIisAppPath>projectname</DeployIisAppPath>
<!-- End copy Contracts &Provider directories -->
</PropertyGroup>
<Target Name="CustomCollectFiles">
<ItemGroup>
<_CustomFiles Include="$(OutputPath)\Contracts\**\*" />
<FilesForPackagingFromProject Include="%(_CustomFiles.Identity)">
<DestinationRelativePath>bin\Contracts\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
<ItemGroup>
<_CustomFiles Include="$(OutputPath)\Providers\**\*" />
<FilesForPackagingFromProject Include="%(_CustomFiles.Identity)">
<DestinationRelativePath>bin\Providers\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
これは完全に新しいプロジェクトでは無視されます。何か似たようなことをする良い方法は何ですか?
...最適なソリューションをイマイチこれがあると思われます良いソリューションですが、VS 2013では動作しません.PubxmlファイルでBeforeTargets/AfterTargetsが無視されているようです。 – nZeus
@nZeus私は一般的に、このような問題のために公開を避けようとしています。MSBuildスクリプトを作成し、 、それは動作します。 – ostati