如何设置htmlHelpers的项目,以便它生成两个dll - 对于mvc3和mvc4?

Dmi*_*try 5 c# asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

我有一个html帮助程序库作为一个单独的项目.现在它引用system.web.mvc了版本4.

如果我尝试在使用mvc3的项目中使用此库,则在尝试使用帮助程序时会抛出错误:

Compiler Error Message: CS1705: Assembly 'MyHtmlHelpers, Version=3.7.4.0, Culture=neutral, PublicKeyToken=null' uses 'System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' which has a higher version than referenced assembly 'System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
Run Code Online (Sandbox Code Playgroud)

我知道我需要使用system.web.mvc引用的版本3 构建我的助手项目,以便它与mvc3项目兼容.我不希望有两个具有相同代码的项目,只是system.web.mvc引用的差异.

问题在标题中.任何帮助表示赞赏.

Dar*_*rov 3

我不想让两个项目具有相同的代码,而只是引用了 system.web.mvc 的差异。

您不一定需要物理地复制源代码。您可以为类库添加另一个 .csproj,它将源代码添加为链接文件,并且仅替换 .csproj 中 System.Web.Mvc 引用的版本。

看一下标准项目(例如JSON.NET源代码)是如何组织的。它们支持从 2.0 到 4.0 的多个版本的 .NET,但源代码是相同的。完成这项工作的是项目文件。