由于特定版本设置为False,Visual Studio程序集引用版本冲突

时间:2012-03-23 18:25:35

标签: asp.net-mvc-3 reference assemblies asp.net-mvc-4

我有很多项目的解决方案。在Visual Studio 2010中,与csproj文件中的实际引用进行比较时,单击程序集引用的属性会显示较新的版本。

具体来说,csproj文件有:

<Reference Include="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>C:\Program Files\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies\System.Web.Mvc.dll</HintPath>
</Reference>

但由于<SpecificVersion>False</SpecificVersion>

,VS2010显示链接并显示版本4.0.0.0

我是否必须手动更新每个项目中的每个单组件参考?删除并重新添加3.0.0.0?

有没有办法搜索&amp;在一次操作中替换所有.csproj文件?

1 个答案:

答案 0 :(得分:1)

您是否希望让您的程序集再次引用3.0.0.0版本?如果是这样,那么您只需要将所有引用程序集的项目的SpecificVersion设置为true。这可以使用参考属性从项目的引用中完成。

您也可以通过在文本编辑器中编辑csproj文件来执行此操作,并从要再次引用3.0.0.0的程序集中删除“False”,因为默认值为true。

如果您只是希望针对特定程序集执行此操作,那么我希望这是一个手动过程,因为我不知道有助于执行此操作的工具。

如果您希望将所有项目中的所有程序集的特定版本设置为true,那么您可以在项目文件中进行查找和替换,将“False”替换为“”。