Visual Studio参考版本和包版本

时间:2015-11-14 20:42:25

标签: c# visual-studio nuget

我一直在尝试更新我的Ninject,以免遇到this bug,而我无法弄清楚我的Ninject.Web.Common版本。

这是来自packages.config的一行

  

package id =“Ninject.Web.Common”version =“3.2.3.0”...

但是,csproj包含以下行

  

参考Include =“Ninject.Web.Common,Version = 3.2.0.0 ...”

这里的参考版本究竟是什么意思?

1 个答案:

答案 0 :(得分:2)

packages.config中的版本是nuget将从服务器获取的版本。因此,当您运行nuget restore时,这将是下载的版本。

第二个是程序集在运行时搜索的版本。如果您不从GAC加载依赖项,则将忽略该版本。仅当您的应用程序从GAC加载其程序集时,才会考虑该版本,并且CLR尝试查找具有指定版本的程序集。因为在GAC中可以存在同一程序集的多个版本。

有关编译时依赖性的详细信息,请查看此Question