为什么有些程序集引用有一个版本,有些则不是通过NuGet添加的

时间:2013-08-20 19:30:06

标签: c# reference nuget .net-assembly

我正在通过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>

1 个答案:

答案 0 :(得分:2)

我发现如果我用nuget.exe添加依赖项,我会得到第一种方法,如果我在Visual Studio中使用Package Manager Console,它会以第二种方式添加它们。我不记得Visual Studio中的Manage NuGet包使用哪种方式。