是否可以在输出目录中不包含web.config,但在构建应用程序时仍然使用web.config?
不幸地将构建操作设置为"无" 不会复制web.config但是应用程序无法编译,因为未使用web.config然后
答案 0 :(得分:0)
我建议您查看web.config 转换。
它们允许您有一个版本用于调试,一个版本用于发布(部署)。
最常见的转换是连接字符串。你可以这样做:
<connectionStrings>
<add name="local" connectionString="Data Source=IPAddress,Port;Initial Catalog=SomeOtherDB;User ID=TopSecretUsername;Password=SecurePassword"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
另一个非常常见的转换是删除release的debug属性:
<compilation xdt:Transform="RemoveAttributes(debug)" />
在这里阅读更多:
http://www.asp.net/mvc/overview/deployment/visual-studio-web-deployment/web-config-transformations
这里有一个很棒的(免费)视频课程:
http://www.pluralsight.com/courses/table-of-contents/aspdotnet-mvc3-intro
答案 1 :(得分:-1)
你能做一些像this SO question中建议的那样吗?
就像在你的prj文件中替换你发现带有(未经测试)的web.config的include:
<Choose>
<When Condition=" '$(Configuration)'=='DEBUG' ">
<ItemGroup>
<Reference Include="web.config" />
</ItemGroup>
</When>
</Choose>
正如Mihai-Andrei Dinculescu所说'愤怒'所说的那样 - 除非你有充分的理由真正希望文件不是副本而不是使用转换,否则你应该进行转换。如果你真的不想复制文件或转换不适合你的需要,你可以试试这个