Ошибка WiX ICE30, но каталог правильный

Мой проект WiX (3.10.3.3007) содержит 2 разных файла web.config из двух разных мест и установлен в них. 2 ошибки из моей сборки: Ошибка ICE30: целевой файл 'svcenub9.con|Web.config' установлен в '[TARGETDIR]\inetpub\wwwroot\barcode\' двумя различными компонентами в системе LFN: 'web_config' и 'views_web_config'. Это нарушает подсчет ссылок компонентов.

Ошибка ICE30: целевой файл 'svcenub9.con|Web.config' установлен в '[TARGETDIR]\inetpub\wwwroot\barcode\' двумя различными компонентами в системе LFN: 'web_config' и 'views_web_config'. Это нарушает подсчет ссылок компонентов.

Рассматриваемый XML и его каталоги:

<Fragment>
   <DirectoryRef Id="barcode">
      ...
      <Component Id="web_config" Guid="*">
         <File Id="web_config" KeyPath="yes" Source="$(var.buildSrc)\BarcodeIntegrationService\Web.config" />
      </Component>
      ...
      <Directory Id="views">
         ...
         <Component Id="views_web_config" Guid="*">
            <File Id="views_web_config" KeyPath="yes" Source="$(var.buildSrc)\BarcodeIntegrationService\Views\Web.config" />
         </Component>
      ...
      </Directory>
   ...
   </DirectoryRef>
</Fragment>

Так как это ошибка ICE, у меня сгенерирован MSI. Когда я смотрю на таблицу компонентов, я вижу, что они действительно имеют разные каталоги.

Есть ли в моем проекте WiX что-то, что я не добавляю?

1 ответ

Проблема в том, что у моих элементов Directory не было атрибута Name. В таблице каталогов DefaultDir был установлен в. для всех моих каталогов. Таким образом, ICE рассматривал их как один и тот же каталог.

Другие вопросы по тегам