Nuget Package不会安装在UAP中

时间:2017-08-08 22:56:39

标签: nuget nuget-package nuget-package-restore

我正在尝试从我的一个项目中创建一个自定义nuget包。当我尝试将其安装到引用它的测试项目中时,我收到此错误:

包“package”1.0.5与uap10.0.15063(UAP,Version = v10.0.15063)不兼容。包“package”1.0.5支持:net(.NETFramework,Version = v0.0)

这显然不是这种情况,因为测试项目可以很好地引用项目本身。

我正在根据我的nuspec文件构建nuget包:

<?xml version="1.0"?>
<package >
  <metadata>
    <id>Project</id>
    <version>1.0.0</version>
    <title>Project</title>
    <authors>company</authors>
    <owners>company</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>desc</description>
    <copyright>cp</copyright>
    <dependencies>
       <group targetFramework="uap ">
        <dependency id="Logging" version="1.0.0" exclude="Build,Analyzers" />
        <dependency id="Microsoft.NETCore" version="5.0.0" exclude="Build,Analyzers" />
        <dependency id="Microsoft.NETCore.Portable.Compatibility" version="1.0.0" exclude="Build,Analyzers" />
        <dependency id="NuGet.Build" version="2.12.0" exclude="Build,Analyzers" />
        <dependency id="NuGet.CommandLine" version="4.1.0" exclude="Build,Analyzers" />
      </group>
    </dependencies>
  </metadata>
  <files>
    <file src="bin\Release\*.dll" target="lib" />
  </files>

“Logging”也是我从另一个项目的.csproj文件创建的自定义nuget包。

我尝试删除标记,并尝试重命名targetFramework =“uap”,但这些都不起作用。

可能出现什么问题,我可以尝试将其发挥作用?

1 个答案:

答案 0 :(得分:0)

目标并不仅仅依赖于NuSpec文件,而是依赖于C#项目和dll本身。转到:

  

项目&GT;右击&GT;性状&gt; TargetFramework&GT;

将其设置为.Net或其他。此外,如果可行,请将输出类型更改为控制台应用程序而不是Windows应用程序。

此外,您应该使用:

创建nuspec文件
  

Nuget spec&lt; ProjectPath&gt;

这为我们提供了改变.csproj文件元数据的优势,并自动将其复制到包元数据中。

我不是100%确定是否会解决这个问题,但这应该是需要做的事情。祝你好运!