我有一个并排的 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
删除它工作的refreance,在我打开MVC 3后它显示错误信息。
最佳答案
您可以为 Mvc3 创建一个新的构建配置并运行一个将覆盖您的 web.config 的预构建事件,这是我从 Hanselman 中采纳的想法。 .
如果您点击链接,您设置的唯一区别是您将拥有一个名为
的配置Web.Config.Mvc3 (and possibly Web.Config.Mvc3Release)
并保留 Mvc 作为您的默认构建
Web.Config.Debug
Web.Config.Release
关于asp.net-mvc - 如何在 MVC 3 和 MVC 4 项目之间共享 web.config 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13565254/