我有一个自定义WIX扩展名(dll),我希望将其作为Nuget包进行管理,可以在Visual Studio 2017中用于WIX安装程序项目。起初,Nuget包无法安装,出现此错误:< / p>
无法安装软件包'MyExtension 1.0.10859'。您正在尝试将此软件包安装到面向“不支持,版本= v0.0”的项目中,但是该软件包不包含任何与该框架兼容的程序集引用或内容文件。
有人建议我需要创建一个.targets文件,以将其包含在我的程序包中,如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<Project ToolsVersion="4.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<WixExtension
Include="$(MSBuildThisFileDirectory)..\tools\MyExtension.dll" />
</ItemGroup>
现在,将Nuget软件包安装到packages文件夹并添加到我的packages.config文件中,但是程序集MyExtension.dll并未添加到WIX安装程序项目的参考中。安装Nuget软件包时,如何将其添加到“参考”中?
搜索StackOverflow时,我在How to Add Nuget package dlls to Wix installer上看到了此解决方案。如果您要安装的软件包来自第三方并且您无法控制其包装方式,那么这是一个很好的解决方案。但是我正在创建Nuget软件包,并希望将其打包为可以直接安装到WIX项目中的方式。
答案 0 :(得分:0)
如何将WIX扩展名添加到Nuget包中以供WIX安装程序项目使用
您可以创建一个新的空白项目(库),然后在该新项目中安装nuget-package。然后将.dll
作为组件添加到安装程序中:
<Component Id="cmpId1" Guid="BF985D52-BA8C-4E4F-84CC-B5A95520FBD4">
<File Id="fileId1" KeyPath="yes" Source="$(var.NugetCollectorProject.TargetDir)\Unity.Abstractions.dll" />
</Component>
证书:How to Add Nuget package dlls to Wix installer
希望这会有所帮助。