ビルドサーバーの1つでこのエラーが発生しています。他のすべてのサーバーはそれを問題なく構築します。何が間違っている可能性があるのか?
5 に答える
そのwix3.6の問題。ここで解決策を見つけました。あなたがする必要があるのはあなたのwixプロジェクトに次のプロパティ<EnableProjectHarvesting>True</EnableProjectHarvesting>を追加することです
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<EnableProjectHarvesting>True</EnableProjectHarvesting>
私もこのエラーが発生しました。新しいセットアップが作成されたときにWixから自動的に生成された新しいもののようです。3.5から3.6にアップグレードしたとき、Wixは気に入らなかったので、単に削除しました。
私の場合、ComponentRef
代わりに使用する必要がありますComponentGroupRef
Wix 3.5
からにアップグレードした後Wix 3.8
、同じ問題が発生しました。ただし、プロジェクトハーベスティングは必要ないためEnableProjectHarvesting
、trueに設定することは適切な解決策ではありません。したがって、問題を解決するには、いくつかの変更が必要でした。
このファイルProduct.wxs
では、次の行を(属性から<Feature>
)完全に削除しました。
<ComponentGroupRef Id="Product.Generated" />
その後、で.wixproj
、をに更新しLinkerBaseInputPaths
ましたDefineConstants
。
つまり、これは変化を意味します
<LinkerBaseInputPaths>%(ProjectReference.RootDir)%(ProjectReference.Directory)obj\$(Configuration)\Package\PackageTmp\</LinkerBaseInputPaths>
に(そして、の追加にも注意してくださいBasePath=%
)
<DefineConstants>BasePath=%(ProjectReference.RootDir)%(ProjectReference.Directory)obj\$(Configuration)\Package\PackageTmp\</DefineConstants>
そして最後に追加しました
PreprocessorVariable="var.BasePath"
HeatDirectory
属性(前の手順で変更したPropertyGroupのすぐ下)に追加します。
私の場合、同じエラー番号が表示されていました。
file_name.wxs(38):エラーLGHT0094:シンボルへの未解決の参照'WixComponentGroup:Name_of_the_ComponentGroup
これは、ComponentGroupを別のファイルに移動し、candle.exeを呼び出すビルドスクリプト(私の場合はcmake、おそらくantを使用)が、ComponentGroupを含む.wxsファイルを含むように更新されていなかったためです。
新しいファイルを含めるようにcmakeスクリプトを更新すると、エラーが修正されました。そして、これは未解決の参照であったため、エラーメッセージは実際には意味がありました。