2012-08-17 93 views
2

我使用的命令具有在Visual Studio 2010中不加熱項目支持-var參數?

"$(WIX)bin\heat.exe" project "$(SolutionDir)\My.project.csproj" -dr FOLDER -cg filesUP -pog:Content -pog:Satellites -gg -g1 -sf -srd -suid -var "var.SourceDir" -out "$(ProjectDir)FilesFragment.wxs" 

輸出文件是忽略該參數-var 「var.SourceDir」和使用var.My.project.ProjectDir

問題
... 
<Component Id="My.project.Content.Web.config" Directory="My.project.Content" Guid="10E9C2E0-2A35-4D6F-B12D-D66AE2E831D4"> 
    <File Id="My.project.Content.Web.config" Source="$(var.My.project.ProjectDir)\Web.config" /> 
</Component> 
... 

Visual Studio 2010中返回此錯誤:

Undefined preprocessor variable '$(var.My.project.ProjectDir)'.
C:\My.project\My.project.Installer\FilesFragment.wxs

我搜索,但只找到其中​​用於與參數DIR例子。

我沒有在文檔中找到任何說明參數-var不被熱項目支持。

有沒有解決方案?

回答

0

我正在使用這個選項,在我的項目中沒有問題。也許,報價是不必要的? 嘗試使用-var var.SourceDir而不是-var "var.SourceDir"

另一種猜測:你收穫一個項目(heat.exe project)。這可能是因爲這個選項忽略了-var開關,並且用項目相關的東西覆蓋它。據我記得,project收穫類型不能很好地工作,不建議使用...您可以嘗試運行heat.exe dir,而不是正確地通過-var

+0

使用'heat dir'的問題是它捕獲所有的項目文件。 即使使用'-t'來過濾'heat dir'的輸出,使用'heat project'來過濾文件會很有趣。 過濾項目文件以生成安裝程序的最合適選項是什麼? – Vianna 2012-08-17 16:45:02

+0

我不認爲'熱量項目'能夠很好地用於生產。查看[爲WiX v4.0計劃的這組問題](http://sourceforge.net/tracker/?limit=25&func=&group_id=105970&atid=642714&assignee=&status=&category=839017&artgroup=866581&keyword=&submitter=&artifact_id=例如,0&assignee =&status =&category = 839017&artgroup = 866581&submitter =&keyword = project&artifact_id = 0&submit = Filter)。 – 2012-08-20 07:28:52

+0

所以你可以用它來找到「不太多」的場景,或者按照你需要的方式調整「heat dir」輸出...... – 2012-08-20 07:30:12

1

一種解決方案,我發現是,而不是使用命令:

"$(WIX)bin\heat.exe" project "$(SolutionDir)\My.project.csproj" -dr FOLDER -cg filesUP -pog:Content -pog:Satellites -gg -g1 -sf -srd -suid -var var.SourceDir -out "$(ProjectDir)FilesFragment.wxs" 

刪除參數-var var.SourceDir和設置環境變量My.project.ProjectDir在它的位置和刪除參數-dr FOLDER和文件Setup.wxs在設置其編號爲My.project.Content

這樣一來,該命令應當是這樣的:

"$(WIX)bin\heat.exe" project "$(SolutionDir)\My.project.csproj" -cg filesUP -pog:Content -pog:Satellites -gg -g1 -sf -srd -suid -out "$(ProjectDir)FilesFragment.wxs" 

在我的使用情況下,我曾與這種解決方案至今沒有任何問題。

+0

接受你自己的答案,以便其他人知道在這種情況下實際上有什麼幫助。 – 2012-09-20 09:24:26

相關問題