msbuild を使用してデプロイする Web サイト プロジェクトがあります。プロジェクトには、ビルドに必要なファイルとフォルダー (web.config パーツの置換ファイルなど) がいくつかありますが、ターゲット サイトにはデプロイしたくありません。
私が考えることができる最善の方法は、これらのファイルを削除するビルド後のターゲットですが、これらのファイルを出力フォルダーにコピーしない方法があるかどうかを知りたいです。
msbuild を使用してデプロイする Web サイト プロジェクトがあります。プロジェクトには、ビルドに必要なファイルとフォルダー (web.config パーツの置換ファイルなど) がいくつかありますが、ターゲット サイトにはデプロイしたくありません。
私が考えることができる最善の方法は、これらのファイルを削除するビルド後のターゲットですが、これらのファイルを出力フォルダーにコピーしない方法があるかどうかを知りたいです。
こんにちは、このブログ投稿をチェックして、私の一日を救ってください。
私は縮小されていないバージョンの JavaScript を除外し、公開時に縮小バージョンのみを使用しようとしていました (大きな JavaScript と chirp.config を削除しています)。これはデバッグにのみ必要です。
リンクに記載されているように、これをプロジェクトファイルに配置するだけです。
<ItemGroup>
<ExcludeFromPackageFolders Include="Scripts\large">
<FromTarget>Project</FromTarget>
</ExcludeFromPackageFolders>
<ExcludeFromPackageFiles Include="Scripts\mash.js.chirp.config" />
<ExcludeFromPackageFiles Include="Content\mash.js.chirp.config" />
</ItemGroup>
公開されたサイトには、次のものは含まれません。
ファイルを選択し、「ビルド アクション」を「ExcludeFromPackageFiles」に設定できます。そうすれば、Visual Studio が csproj xml を編集するので、編集する必要はありません。
MSDeploy を Web パブリッシング パイプラインと共に使用して、パッケージ作成に含めるファイルを除外できます。たとえば、展開されたパッケージから App_Data フォルダーを除外する場合は、このようなものを使用できます
<Target Name="ExcludeApp_Data" DependsOnTarget="$(ExcludeApp_DataDependsOn)" Condition="$(ExcludeApp_Data)" >
<ItemGroup>
<ExcludeFromPackageFolders Include="App_Data">
<FromTarget>ExcludeApp_Data</FromTarget>
</ExcludeFromPackageFolders>
</ItemGroup>
</Target>
どういうわけか、エディターはコードを正しく表示しません。上記は、Web のパッケージ化/発行を構成すると、proj ファイル内に生成されます。独自のターゲットを追加して、それを成し遂げることができます。
たとえば、ビルドから Scripts\jquery ファイルを除外する場合は、以下のように個別の ExcludeScriptFiles.wpp.targets ファイルを作成します。
<ItemGroup>
<ExcludeFromPackageFolders Include="Internal">
<FromTarget>ExcludeScriptFiles.wpp.targets</FromTarget>
</ExcludeFromPackageFolders>
<ExcludeFromPackageFiles Include="Scripts\jquery.js;xyz.js">
<FromTarget>ExcludeScriptFiles.wpp.targets </FromTarget>
</ExcludeFromPackageFiles>
</ItemGroup>
これは、独自のターゲットを作成するための簡単な例です。
お役に立てれば
ファイルのプロパティ エクスプローラーで、[出力ディレクトリにコピー] オプションを [コピーしない] に変更します。