将.net框架依赖项添加到nuspec文件中

时间:2017-02-22 11:17:16

标签: .net nuget-package nuspec

我有以下nuspec文件:

<?xml version="1.0"?>
<package >
  <metadata>
    <id>Project.Proxy</id>
    <version>0.0.1</version>
    <title>Project.Proxy</title>
    <authors>Company name</authors>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>Proxy component to access a repository.</description>
    <copyright>Copyright 2017</copyright>
    <tags>tag1 tag2</tags>
  </metadata>
</package>

有了这个,我创建了nuget包,但是当我试图在另一个项目上安装它时,我收到了错误:

  

无法安装包'Project.Proxy 0.0.1'。你正试图   将此包安装到目标项目中   '.NETFramework,Version = v4.6.1',但包中不包含任何内容   程序集引用或与之兼容的内容文件   框架。有关更多信息,请与软件包作者联系。

那么我需要添加到nuspec文件中以使其与.net 4.6项目兼容?

2 个答案:

答案 0 :(得分:-1)

这是我更新的nuspec文件,它解决了我的问题。我只需要添加&lt; files&gt;标签符合以下条件:

<?xml version="1.0"?>
<package >
  <metadata>
    <id>Project.Proxy</id>
    <version>0.0.1</version>
    <title>Project.Proxy</title>
    <authors>Company name</authors>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>Proxy component to access a repository.</description>
    <copyright>Copyright 2017</copyright>
    <tags>tag1 tag2</tags>
  </metadata>
  <files>
    <file src="bin\Release\*.*" target="lib/net461" />
  </files>
</package>

答案 1 :(得分:-2)

我用:

$(SolutionDir)\nuget pack $(ProjectPath) -IncludeReferencedProjects -Prop Configuration=$(ConfigurationName)

在我的后期制作活动中。

我的package.nuspec位于主项目目录中,其内容为:

<?xml version="1.0"?>
<package >
  <metadata>
    <id>$id$</id>
    <version>$version$</version>
    <authors>abc</authors>
    <owners>xyz</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>
      Adds marval web api client classes.
    </description>
    <releaseNotes>.</releaseNotes>
    <copyright>Copyright 2016</copyright>
    <tags></tags>
    <dependencies>
      <group>
        <dependency id="RestSharp" version="105.2.3"/>
      </group>
    </dependencies>
  </metadata>
</package>

这会在项目的bin文件夹中生成一个包,这个包可以运行。