【问题标题】:Why do some assembly references have a version and others not when added through NuGet为什么通过 NuGet 添加时某些程序集引用有版本而其他没有
【发布时间】:2013-08-20 19:30:05
【问题描述】:

我通过 NuGet 添加所有包,因此我没有手动调整 Visual Studio 中的特定版本属性。 但是,根据我添加的包(甚至哪个版本),我最终会以不同的方式添加引用。如下所示:

  • 添加了对 Autofac 的引用,但没有版本。
  • 添加了对 AutoMapper 的引用,但也添加了程序集版本。 Version=3.0.0.0, Culture=neutral, processorArchitecture=MSIL"

更奇怪的是 AutoMapper 的稳定 NuGet 包也没有添加版本(确保在更改包之间保存 csproj 文件)。同一种方法(NuGet安装包)添加的包导致配置不同的原因是什么?

<Reference Include="Autofac">
  <HintPath>..\packages\Autofac.3.1.1\lib\portable-win+net40+sl50+wp8\Autofac.dll</HintPath>
</Reference>
<Reference Include="AutoMapper, Version=3.0.0.0, Culture=neutral, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\packages\AutoMapper.3.0.0-ci1043\lib\windows8\AutoMapper.dll</HintPath>
</Reference>

【问题讨论】:

    标签: c# reference nuget .net-assembly


    【解决方案1】:

    我发现如果我使用 nuget.exe 添加依赖项,我会得到第一种方式,如果我在 Visual Studio 中使用包管理器控制台,它会以第二种方式添加它们。我不记得 Visual Studio 中的 Manage NuGet Packages 是通过什么方式实现的。

    【讨论】:

    • NuGet 团队在他们关于 NuGet v3 的一篇文章中证实了这一点,这是他们放弃将包添加到项目文件的旧方法的原因。
    • 管理 Nuget 包是第一种方式。
    猜你喜欢
    • 1970-01-01
    • 2013-08-04
    • 1970-01-01
    • 2012-01-13
    • 2019-09-06
    • 2022-07-09
    • 2022-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多