visual-studio - Nuget 包 - 引用的程序集不包含在项目引用中

标签 visual-studio nuget dependency-management nuget-package nuget-spec

在我进入问题之前,让我快速解释一下我的目标:

我有一个用于我构建的每个网站的模板项目,其中包括基类、公共(public)页面(例如联系我们)、有用的实用程序(异常日志记录)等。我想让这个模板可重用和可更新。以前我使用的是 Visual Studio 项目模板,但在引用我需要的所有程序集时遇到了问题,所以我转向了 Nuget。我的印象是这会更容易,并且还为我提供了额外的好处。

问题:

我不知道如何创建一个 nuget 包,该包将包含包中的所有引用(解决方案中的其他项目和我本地计算机上的 dll),并且还使它们成为安装此模板的子项目中的依赖项。

这是我已经走了多远:

一种。在项目的 nuspec 文件中,我有以下内容:

<references>
  <reference file="AjaxControlToolkit.dll" /> <!-- nuget dependency -->
  <reference file="BjxContacts.Shared.dll" /> <!-- project dependency -->
  <reference file="SomeExample.exe" /> <!-- exe local file dependency -->
  <reference file="SomeOther.dll" />  <!-- dll local file dependency -->
</references>
<files>
    <file src="bin\*.pdb" target="lib" /> 
    <file src="bin\*.dll" target="lib"/>
    <file src="bin\*.exe" target="lib"/>
    <file src="bin\*.xml" target="lib"/>
</files>

湾。当我运行 pack 命令时,我使用这个:nuget pack {projectname}.csproj - IncludeReferencedProjects -Symbols

C。输出是两个独立的项目,一个带有 .symbols,一个没有,在包资源管理器中如下所示:

两个项目:
enter image description here

符号包:enter image description here

所以在这一点上,感觉就像我做的一切都是正确的。但是,一旦我在 Visual Studio 中创建了一个新的空 Web 应用程序并安装了这个包,这些引用的程序集或项目都不会包含在引用中:

d。在 Visual Studio 的新(子)项目中:
enter image description here

我在这里撞到了一堵完整的砖墙。我已经在网上搜索了好几天,我发现了一堆看起来可能会有所帮助的东西,但却让我陷入了死胡同:
  • https://github.com/dittodhole/powershell-nuget-packager
  • Build NuGet Package automatically including referenced dependencies
  • NuGet Packaging and referencing dll's
  • Why doesn't nuget include the referenced project when packing?

  • 我哪里错了?

    更新
    在 .net451 文件夹中,它添加了所有外部项目引用。正如您在 WebApplication 屏幕截图中看到的那样,也没有添加这些引用。
    enter image description here
    (来源:blabberjax.com)

    最佳答案

    好的,所以在尝试了几乎所有事情之后,我认为这个问题与我将主项目、Nuget 包和子项目命名为相同的名称有关——(例如 MyProject.csproj 和包 MyProject.#.# .#)。

    看起来引用可能已被 Nuget 包中的 MyProject.csproj 文件覆盖在子项目的 .csproj 文件中,该文件具有本地 ../引用。所以我在 nuspec 中将 Nuget 包的 id 重命名为<id>$id$.Client</id> ,然后一切都开始工作了。

    关于visual-studio - Nuget 包 - 引用的程序集不包含在项目引用中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36796591/

    相关文章:

    c# - 如何更改图表图例的属性

    visual-studio - Visual Studio "Go to implementation "

    windows-phone-7 - 为 Windows Phone 7 安装 Json.NET 时出现以下错误

    c# - 没有 NuGet 的工作

    maven-2 - Maven2 跨父子共享依赖(不重新声明子依赖)

    visual-studio - 从向导取消 VS2010 项目创建

    c++ - 运算符继承问题和 cpp 核心指南 c.128

    c# - nuget.org 上的源无法访问?

    eclipse - Grails Assets 管道在Eclipse中显示错误的构建路径

    java - 强制库 B 的版本与库 A 的传递依赖项相匹配