.net - nuget没有添加引用

标签 .net nuget

我遇到了一个奇怪的问题,无法将引用添加到项目的引用中。首先让我展示一下我的设置。

我有两个包:Framework.nuspec 和 Resources.nuspec。每个都包含一个dll。 Framework.nuspec 中的 dll 为 88KB,Resources.nuspec 中的 dll 为 13605 KB。

Framework.nuspec如下:

<? xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
  <metadata>
    <id>Framework</id>
    <version>1.0.2</version>
    <title>Framework</title>
    <authors>Author</authors>
    <owners>Owner</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>Core functionality</description>
    <copyright>Copyright © 2016 Company</copyright>
  </metadata>
  <files>
    <file src="bin\Framework.dll" target="lib\net461" />
  </files>
</package>

Resources.nuspec 如下:

<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
  <metadata>
    <id>Resources</id>
    <version>1.0.2</version>
    <title>Resources</title>
    <authors>Author</authors>
    <owners>Owner</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>All resources</description>
    <copyright>Copyright © 2016 Company</copyright>
  </metadata>
  <files>
    <file src="bin\Resources.dll" target="lib\net461" />
  </files>
</package>

正如您所看到的,这些包的设置很简单,而且除了名称和文件之外,看起来完全相同。然后打包这些包的命令很简单:nuget.exe pack Framework.nuspecnuget.exe pack Resources.nuspec

现在发生的情况是,当我添加框架包时,它会正确添加引用: Framework

但是当我添加资源包时,它根本不添加引用: Resources

是我做错了什么吗? 这是一个我需要去报告的错误,还是一个我错过的已经报告的错误? 以前有人遇到过这种情况吗? 是因为我使用的是net461吗?

我一遍又一遍地创建包,但没有成功。

任何反馈将不胜感激。

亲切的问候, 威廉·托瑞恩

更新:以下是添加资源包的输出:

Attempting to gather dependencies information for package 'Resources.1.0.2' with respect to project 'ConsoleApplication1', targeting '.NETFramework,Version=v4.6.1'
Attempting to resolve dependencies for package 'Resources.1.0.2' with DependencyBehavior 'Lowest'
Resolving actions to install package 'Resources.1.0.2'
Resolved actions to install package 'Resources.1.0.2'
Adding package 'Resources.1.0.2' to folder 'C:\Users\wtoerien\Documents\Visual Studio 2015\Projects\ConsoleApplication1\packages'
Added package 'Resources.1.0.2' to folder 'C:\Users\wtoerien\Documents\Visual Studio 2015\Projects\ConsoleApplication1\packages'
Added package 'Resources.1.0.2' to 'packages.config'
Successfully installed 'Resources 1.0.2' to ConsoleApplication1
========== Finished ==========

如您所见,没有警告。

最佳答案

好吧,经过一番尝试,我发现了一些非常奇怪的事情。一旦我将“X”添加到所有资源中,dll 就会被添加! Resources.nuspecResourcesX.nuspecResources.dllResourcesX.dll 以及nuspec 文件。

也就是说,我的完整符号是 Company.Framework.Plugin.Resources.dll 所以本质上当我将所有内容更改为 Company.Framework.Plug.ResourcesX.dll 时工作了。

这是 nuspec:

<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
  <metadata>
    <id>Company.Framework.Plugin.ResourcesX</id>
    <version>1.0.2</version>
    <title>Company Web Resources Plugin</title>
    <authors>Company</authors>
    <owners>Company</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>Core images and entity name definitions for Framework web applications.</description>
    <copyright>Copyright © 2016 Company, Inc.</copyright>
  </metadata>
  <files>
    <file src="bin\*.*" target="lib\net461" />
  </files>
</package>

结果如下:

Resources

输出如下:

Attempting to gather dependencies information for package 'Company.Framework.Plugin.ResourcesX.1.0.2' with respect to project 'ConsoleApplication1', targeting '.NETFramework,Version=v4.6.1'
Attempting to resolve dependencies for package 'Company.Framework.Plugin.ResourcesX.1.0.2' with DependencyBehavior 'Lowest'
Resolving actions to install package 'Company.Framework.Plugin.ResourcesX.1.0.2'
Resolved actions to install package 'Company.Framework.Plugin.ResourcesX.1.0.2'
Adding package 'Company.Framework.Plugin.ResourcesX.1.0.2' to folder 'C:\Users\wtoerien\Documents\Visual Studio 2015\Projects\ConsoleApplication1\packages'
Added package 'Company.Framework.Plugin.ResourcesX.1.0.2' to folder 'C:\Users\wtoerien\Documents\Visual Studio 2015\Projects\ConsoleApplication1\packages'
Added package 'Company.Framework.Plugin.ResourcesX.1.0.2' to 'packages.config'
Successfully installed 'Company.Framework.Plugin.ResourcesX 1.0.2' to ConsoleApplication1
========== Finished ==========

所以在我看来,Resources 名称中存在一些问题,导致无法添加它。我会将错误记录到 nuget,但我想与此同时我们只需要解决它。

谢谢。

关于.net - nuget没有添加引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35886540/

相关文章:

c++ - 使用 C++/CLI 打开和读取 Excel 文件

.net - 微软 HxS 文件格式

asp.net-mvc - 使用 Ninject.MVC3 nuget 包正确设置 ASP.NET MVC 3 应用程序

c# - NuGet.核心 : This package has been deprecated as it is legacy and no longer maintained

nuget - vsts 将 .net 标准 2 打包成 nuget

c# - 依赖注入(inject)不适用于 IConfiguration C#.Net Core

c# - 用于像 Wireshark Diagnostics 这样的窗口的 XAML?

c# - 与 TPT 代码优先 Entity Framework 中的引用约束冲突

.net - 如何安装 MyGet 包?

.net - 将 nuget 包存储在构建服务器上的备用位置