MVC 项目中的 MVC 项目
本文关键字:MVC 项目 | 更新日期: 2023-09-27 18:35:05
在IIS上,我可以为我的MVC项目创建一个站点,称之为Foo。
设置完成后,我可以右键单击它并"添加虚拟目录"栏。
如果我尝试将 Bar 设置为虚拟目录,则会收到一条错误消息,指出这可能需要一个应用程序。
所以我右键单击并使 Bar 成为应用程序。 还是不去。
问题是与Foo和Bar的web.config发生冲突,说我的一个连接字符串已经定义。
似乎我不能只做<location path="." inheritInChildApplications="false">
因为这在配置设置上使用是无效的。
我唯一的另一个想法是在Bar中创建一个web.release.config文件,并删除与Foo冲突的所有内容。 这似乎很乏味,容易出错。
关于如何让我的网址看起来像我想要的样子(www.foo.com/Bar)的任何建议?
我建议在子web.config中的任何<add ... />
标签之前添加一个<clear />
标签。这将删除所有继承的添加字段,包括清除标记之前添加的每个字段。
这应该适用于ConnectionStrings,AppSettings等,基本上是依赖于<add ... />
标签的所有内容。
<!--FOO web.config-->
<connectionStrings>
<add name="DataBase1" connectionString="..." providerName="..." />
<add name="DataBase2" connectionString="..." providerName="..." />
</connectionStrings>
<!--BAR web.config-->
<connectionStrings>
<clear />
<add name="DataBase1" connectionString="..." providerName="..." />
<add name="DataBase2" connectionString="..." providerName="..." />
</connectionStrings>
Bar 只是一个目录?
您需要使用命名空间。定义命名空间后,它们不会使编译器在对象上发生冲突。然后在 IIS 中,除了使 foo 成为您的应用程序之外,您无需执行任何操作。
namespace BarSpace {
[classes/code]
}
namespace FooSpace {
[classes/code]
}