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安装程序项目中的引用来解决,但它会在构建时将其吐出。
答案 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是一个链接,用于解释和定义与项目引用相关的所有可用预处理器变量。