我使用 Web 部署项目来构建我的发布包并替换我的 web.config 文件的特定部分。我使用用于调试的值配置原始 web.config 文件,例如应用程序设置。然后我有一个名为AppSettings.Release.config的文件,我使用以下内容来构建发布包:
<ItemGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<WebConfigReplacementFiles Include="ConfigAppSettings.Release.config">
<Section>appSettings</Section>
</WebConfigReplacementFiles>
<WebConfigReplacementFiles Include="ConfigCompilation.Release.config">
<Section>system.web/compilation</Section>
</WebConfigReplacementFiles>
<WebConfigReplacementFiles Include="ConfigCustomErrors.Release.config">
<Section>system.web/customErrors</Section>
</WebConfigReplacementFiles>
</ItemGroup>
我还有一个指定用于调试的连接字符串,如下所示:
<connectionStrings>
<add name="SQLConnectionString"
connectionString="Server=[server name]Database=[database name];Integrated Security=SSPI;" />
</connectionStrings>
我正在迁移到 Windows Azure,我想使用门户界面来管理我的连接字符串 - 而不是 web.config 文件。因此,在门户中,我在名为"SQLConnectionString"的连接字符串下为我的网站添加了一个名为"SQLConnectionString"的条目,其中包含正确的生产字符串。
我的问题是,我想使用部署项目从我的 web.config 文件中完全删除<connectionStrings>
元素。我该怎么做?
注意:我尝试简单地用空元素替换部分,但出现以下错误:
web.config(25): 错误 WDP00001: "web.config" 中的部分 connectionString 有 1 个元素,但 "Config\ConnectionStrings.Release.config" 有 0 个元素。
谢谢!
我想知道你有没有在这里检查过官方的MSDN文档。以及您是否在 connectionstrings.release.config 中尝试过以下内容:
<connectionStrings>
<add xdt:Transform="RemoveAll" />
</connectionStrings>
根据文档,这必须删除所有条目。