0

多くのトラブルの後、実行してフォルダーのファイルをWXSファイルに入れる必要があるheat.exeコマンド文字列があります。

このように見えます

heat dir "$(var.SolutionDir)Web\obj\$(var.MyProject.Configuration)Package" -gg -g1 -cg PACKAGEFILES sreg -dr DEPLOYFOLDER -var "$(var.SolutionDir)Web\obj\$(var.MyProject.Configuration)Package" -out "$(var.SolutionDir)WebInstaller\PackageFragment.wxs"

これを使用して取得しました:http://weblogs.sqlteam.com/mladenp/archive/2010/02/23/WiX-3-Tutorial-Generating-filedirectory-fragments-with-Heat.exe.aspx

ただし、VS2010 で WIX プロジェクトの [プロパティ] -> [ビルド イベント] の下にあるビルド前のイベント ボックスにそれをコピーしようとすると、VS2010 がクラッシュし、プロジェクト ファイル xml コードからコマンドを直接削除するまでプロジェクトをロードできません。 .

2 つの質問があります。

  1. このコマンド文字列は正しいですか?
  2. なぜ私のプロジェクトはそのようにクラッシュするのですか?

よろしくお願いします。

4

1 に答える 1

1

$(stuff)Visual Studio がを MSBuild プロパティとして解釈しようとし、すべてが混乱してクラッシュするため、プロジェクトがクラッシュします。

.wixproj ファイルを直接編集して、そのコマンド ラインを MSBuild 構文に変換する必要があります。そうすれば、クラッシュする Visual Studio の解析コードをバイパスできます。何かのようなもの:

<Exec Command='heat dir "..\Web\obj\$(Configuration)Package" -gg -g1 -cg PACKAGEFILES sreg -dr DEPLOYFOLDER -var "..\Web\obj\$(Configuration)Package" -out "..\WebInstaller\PackageFragment.wxs"'

注: $(var.SolutionDir) は、Visual Studio 内でビルドする場合にのみ使用できるため、使用しないことをお勧めします (上記の例では、相対パスにしました)。

于 2013-05-22T16:58:52.167 に答える