加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

创建NuGet包时不要包含packages.config文件中的依赖关系

发布时间:2020-12-14 01:07:53 所属栏目:百科 来源:网络整理
导读:我使用Nuget来创建包。我想创建一个不包含任何依赖(.nuspec)文件到任何其他NuGet包的包。我的项目确实有在package.config文件中定义的NuGet包依赖。 首先我创建.nuspec文件… C:codeMySolution.nugetnuget.exe spec MyProjectMyProject.csproj 我编辑生
我使用Nuget来创建包。我想创建一个不包含任何依赖(.nuspec)文件到任何其他NuGet包的包。我的项目确实有在package.config文件中定义的NuGet包依赖。

首先我创建.nuspec文件…

C:codeMySolution>.nugetnuget.exe spec MyProjectMyProject.csproj

我编辑生成的.nuspec文件是最小的,没有依赖。

<?xml version="1.0"?>
<package >
  <metadata>
    <id>MyProject</id>
    <version>1.2.3</version>
    <title>MyProject</title>
    <authors>Example</authors>
    <owners>Example</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>Example</description>
    <copyright>Copyright 2013 Example</copyright>
    <tags>example</tags>
    <dependencies />
  </metadata>
</package>

然后我构建解决方案并创建一个NuGet包…

C:codeMySolution>.nugetnuget.exe pack MyProjectMyProject.csproj -Verbosity detailed

这是该命令的输出…

Attempting to build package from 'MyProject.csproj'.
Packing files from 'C:codeMySolutionMyProjectbinDebug'.
Using 'MyProject.nuspec' for metadata.
Found packages.config. Using packages listed as dependencies

Id: MyProject
Version: 1.2.3
Authors: Example
Description: Example
Tags: example
Dependencies: Google.ProtocolBuffers (= 2.4.1.473)

Added file 'libnet40MyProject.dll'.

Successfully created package 'C:codeMySolutionMyProject.1.2.3.nupkg'.

创建的.nupkg包有一个包含在其中的.nuspec文件,但它包括一个依赖项部分,我在原来的.nuspec文件中没有…

<dependencies>
  <dependency id="Google.ProtocolBuffers" version="2.4.1.473" />
</dependencies>

我相信这是发生,因为这…(从上面的输出)

Found packages.config. Using packages listed as dependencies

如何使NuGet不会自动解决依赖关系并将它们插入到从pack命令生成的.nuspec文件?

我目前使用NuGet 2.2。另外,我不认为这种行为发生在旧版本的NuGet;这是一个新的“功能”吗?我找不到任何文档描述这个“功能”或当它被实现。

在版本2.7中有一个名为developmentDependency的选项,可以将其设置为package.config以避免包含依赖性。

Excluding development dependencies when creating packages

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读