web-dev-qa-db-ja.com

LGHT0094:セクション 'Product:*'のシンボル 'WixComponentGroup:Product.Generated'への未解決の参照

ビルドサーバーの1つでこのエラーが発生しています。他のすべてのサーバーは問題なく構築します。何が間違っているのでしょうか?

21
user626528

このエラーも発生しました。新しいセットアップが作成されると、Wixから自動的に生成される新しいもののようです。 3.5から3.6にアップグレードしたときにWixが気に入らなかったため、削除しました。

8
Natalie Carr

そのwix 3.6の問題です。解決策が見つかりました here 。必要なことは、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>
50
goodbuoy

私の場合、ComponentRefの代わりにComponentGroupRefを使用する必要があります

3
Carlos Liu

Wix 3.5からWix 3.8へのアップグレード後、同じ問題が発生しました。ただし、プロジェクトの取得は必要ないため、EnableProjectHarvestingをtrueに設定することは適切な解決策ではありません。したがって、問題を解決するために、いくつか変更する必要がありました。

ファイルProduct.wxsで、次の行を完全に削除しました(属性<Feature>から):

<ComponentGroupRef Id="Product.Generated" />



その後、.wixprojLinkerBaseInputPathsDefineConstantsに更新しました。

つまり、これは変化を意味します

<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のすぐ下)に追加します。

1

私の場合、同じエラー番号が表示されていました:

file_name.wxs(38):エラーLGHT0094:シンボル 'WixComponentGroup:Name_of_the_ComponentGroup)への未解決の参照

これは、ComponentGroupを別のファイルに移動していて、candle.exeを呼び出すビルドスクリプト(私の場合はcmake、多分antを使用)が、ComponentGroupを含む.wxsファイルを含むように更新されていなかったためです。

Cmakeスクリプトを更新して新しいファイルを含めると、エラーが修正されました。そして、これは未解決の参照だったので、エラーメッセージは実際に意味がありました。

0
TomEberhard