我有一个MVC 3.0和MVC 4.0项目并排
我为两个解决方案之间的资源共享做了这个。当我更改配置文件时,它工作正常。细节上的变化。
在MVC 3中。
<assemblies>
<add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>
<pages>
<namespaces>
<add namespace="System.Web.Helpers" />
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="System.Web.WebPages"/>
</namespaces>
</pages>
当我删除<add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
MVC 4工作正常。我在MVC 3.0中调试项目后显示错误消息(The type or namespace name 'Ajax' does not exist in the namespace 'System.Web.Mvc' (are you missing an assembly reference?)
)因为我删除“System.Web.Mvc,Version = 3.0.0.0”,如果我必须运行,这意味着我必须再次放置refreance。在这里我手动完成任务,有没有办法自动执行此操作?
例如,服务器端的两个xml文件我读取了该xml文件并替换了配置文件。
已经尝试过。
在MVC 4项目中,我使用WebConfigurationManager
删除了它的工作,在我打开MVC 3后,它显示错误消息。
答案 0 :(得分:3)
你可以为Mvc3创建一个新的构建配置并运行一个覆盖web.config的预构建事件,这是我从Hanselman采用的一个想法。
如果您按照链接进行设置,唯一的区别就是您将拥有一个名为
的配置Web.Config.Mvc3 (and possibly Web.Config.Mvc3Release)
并将Mvc作为默认构建
Web.Config.Debug
Web.Config.Release