自定义 NuGet 包未安装在 wix 项目中

问题描述

生成一个 NuGet,它只是我想在我的一个项目中使用的一些 redist 文件。如果我将它安装在 C# 或 C++ 项目中,它就可以工作。但是当我尝试在 wixproj 项目中安装它时,我收到以下消息: 无法安装包“package-1.0.0”。您正在尝试将此包安装到以“不支持,版本 = v0.0”为目标的项目中,但该包不包含任何与该框架兼容的程序集引用或内容文件。如需更多信息,请联系软件包作者。

我通过 TeamCity 任务(使用 NuGet 5.6.0)生成包。尝试使用 NuGet CLI 5.8.1 生成包时,我收到以下警告:

*警告:NU5128:在 nuspec 和 lib/ref 文件夹的依赖项组中声明的某些目标框架在其他位置没有完全匹配。请参阅以下操作列表

  • 将 native0.0 的依赖组添加到 nuspec*

查看 https://docs.microsoft.com/en-us/nuget/reference/errors-and-warnings/nu5128,其中一个解决方案是尝试依赖项组 targetFramework,(我使用“native0.0”)但没有成功。我的 nuspec 如下:

<?xml version="1.0"?>
 <package>
  <Metadata>
    <id>package</id>

    <version>1.0.0</version>
    <authors>package</authors>
    <owners>owner</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>my package</description>
    <copyright>© 2021 company,Inc</copyright>
    <tags>native</tags>
  </Metadata>
  <files>
    <file src="downloads\Folder\win32.vs2017\file1.lib" target="lib\native\lib\win32.vs2017\" />
    <file src="downloads\Folder\win32.vs2017\file1-debug.lib" target="lib\native\lib\win32.vs2017\" />
    <file src="downloads\Folder\Include\**" target="lib\native\include\" />
    <file src="build\package.props" target="build\native" />
  </files>
</package>

还有我的道具文件

<Project>
 <PropertyGroup>
   <MyVersion>1.0.0</MyVersion>
 </PropertyGroup>
</Project>

我可以将其他 NuGet 包安装到 wixprojects 中,那么我如何配置我的包才能工作?谢谢。

解决方法

好的,我找到了,问题出在线路上

    <file src="build\package.props" target="build\native" />

将目标更改为 "build\" 允许将 NuGet 加载到任何项目类型,包括 WixProj。请注意,NU5128 警告仍然存在,但对我来说不是问题。