1

同じソリューションにWebセットアッププロジェクトとWebサイトが含まれています。セットアッププロジェクトではContent files、Webサイトのコンテンツを指すように追加しました。

このWebサイトには、動的に生成されたファイル(.logファイル、一部の画像ファイルなど)を含むフォルダーがいくつかあります。これらのファイルをセットアップに含めたくありません。フィルタを追加しようとしましたSymbols\*.pngが、機能しません。また、と呼ばれるフィルターを試しました*.png。これにより、そのフォルダー内の.pngファイルが除外されますが、問題は、そこに存在する必要のあるWebサイト内のすべての静的.pngファイルも除外されることです。

必要なディレクトリの下のファイルのみを除外するフィルターを追加するにはどうすればよいですか?

PreBuildEventファイルが削除された後、VSにWebサイトのコンテンツを更新するように指示する何かを呼び出すことは可能ですか?

これを解決できる他のアプローチはありますか?

4

2 に答える 2

0

メモ帳で.csprojファイルを編集し、次のようなものを追加しようとしましたか?

<ItemGroup>
  <!-- This will exclude the .png files from the Symbols folder -->    
  <ExcludeFromPackageFiles Include="$(ProjectDir)..\..\MyWebSite\Symbols\*.png" />   
</ItemGroup>

ここで、ItemGroupは次の行の後にあります。

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />

次の記事で詳細を確認できます:http ://sedodream.com/2010/05/01/WebDeploymentToolMSDeployBuildPackageInclusiveExtraFilesOrExclusiveSpecificFiles.aspx

于 2012-02-20T12:52:52.317 に答える
0

回避策として、セットアップに含めるべきではないすべてのファイルを削除するPreBuildEventを作成しました。

del /Q $(ProjectDir)..\..\MyWebSite\Symbols\*.png

これにより、ビルドの開始時に実際にファイルが削除されますが、セットアップコンテンツが存在すると見なすコンテンツファイルが存在しないため、ビルドの後半でエラーが発生します。削除されたファイルは、VSでは引き続きWebサイトのコンテンツとして参照されます。Webサイトのフォルダーを参照すると、削除されたファイルがVS GUIにあることがわかります(ファイルは実際には削除されていますが)。Webサイトプロジェクトを更新して、コンテンツが変更されたことをVSに通知してから、ビルドを再実行する必要があります。その後、それは機能し、私のセットアップには私が欲しいものが含まれています。

于 2013-06-24T09:19:20.667 に答える