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

时间:2013-11-25 09:25:15

标签: c# asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

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

如果我尝试在使用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'

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

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

1 个答案:

答案 0 :(得分:3)

  

我不希望只有两个具有相同代码的项目   system.web.mvc引用的差异。

您不一定需要在物理上复制源代码。您可以为您的类库创建另一个.csproj,它将源代码添加为Linked Files,并且仅替换.csproj中System.Web.Mvc引用的版本。

了解JSON.NET等标准项目如何组织其源代码。它们支持从2.0到4.0的多个.NET版本,但源代码是相同的。这是正在完成工作的项目文件。