为什么某些程序集引用有版本,而其他程序集引用在通过NuGet添加时没有

本文关键字:程序集 引用 NuGet 添加 版本 为什么 其他 | 更新日期: 2023-09-27 18:28:27

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

为什么某些程序集引用有版本,而其他程序集引用在通过NuGet添加时没有

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