WiX Installer MSI中的项目依赖项

时间:2017-12-08 15:23:30

标签: .net wix nuget

WiX非常新,但遇到问题我无法解决。 我有一个简单的控制台应用程序,我有一个简单的Wix安装程序。 我按照基本指南来安装我的控制台应用程序。 该软件似乎已正确安装,但它缺少我已包含在我的控制台应用程序中的库。

我得到的错误是:

Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'FluentCommandLineParser, Version=1.4.3.0, Culture=neutral, PublicKeyToken
=null' or one of its dependencies. The system cannot find the file specified.

这个' FluentCommandLineParser'是我正在使用的库,我使用Nuget Package Manager安装到项目中。

我是否必须引用控制台应用程序正在使用的每个库?如果是这样,我该怎么做?

我尝试通过从项目debug / bin文件夹中添加FluentCommandLineParser.dll作为WiX安装程序项目中的引用来解决,但它会在构建时将其吐出。

1 个答案:

答案 0 :(得分:4)

如果您希望将FluentCommandLineParser.dll包含在安装程序中,则需要将其添加为安装程序中的组件。

由于您使用nuget添加它,因此可能会将其添加为“Copy Local = True”的参考,因此您可以非常轻松地将其添加到您的安装中。

只需添加新组件

<Component Id="FluentCommandLineParser.dll" Guid="*">
    <File Id="FluentCommandLineParser.dll" KeyPath="yes" Source="$(var.ProjectNameHere.TargetDir)FluentCommandLineParser.dll" />
</Component>

这应该将dll添加到您的安装程序。

Here是一个链接,用于解释和定义与项目引用相关的所有可用预处理器变量。