我正在使用 Nuget 添加一些库。我发现在添加新库后 *.csproj 并没有改变,但引用实际上改变了。
任何人都知道 Nuget 如何管理引用?
只是仔细检查了一下。引用在 *.config 文件中维护。看看下面的图片。
在packages.config
文件中,您将看到如下内容:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EntityFramework" version="5.0.0" targetFramework="net40-Client" />
</packages>
在App.config
文件中,您将看到如下内容:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=some-token" requirePermission="false" />
</configSections>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
</entityFramework>
</configuration>
注意:此示例中的值只是一个示例值。您的解决方案可能会有所不同。
虽然 NuGet 包引用确实存储在 packages.config 中,但 NuGet 确实会更新项目文件以添加程序集引用。项目文件和程序集引用始终在项目文件中进行管理。
在您的情况下,您可能已经引用了与 NuGet 包相同的程序集(因此它不会被修改),或者您可能在保存之前检查了磁盘上的版本。