微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ASP.NET Web.config转换将无法在安装程序中使用

我正在Visual Studio .NET 2010中的一个ASP.NET项目上工作,并尝试使用Web安装程序创建一个MSI安装程序.我从项目中添加了主要的输出(这似乎牵涉到相关的依赖项)和项目中的内容文件(它引入了Web.config和.svc文件).

问题是,不是使用Web.Release.config应用XDT转换和创建Web.config,它只将Web.config,Web.Release.config和Web.Debug.config复制到安装程序中,而不需要做任何改造.

在创建安装程序之前,如何让它应用Web.config转换?

解决方法

我发现一个 workaround适用于我:

>创建所需的配置(Dev,QA,Production等)和相关的Web配置转换.
>使用记事本或其他文本编辑器,并在标签(在项目文件结尾附近)之前的Web应用程序项目文件(.csproj文件)中包含以下内容

<Target Name="AfterBuild">
  <TransformXml Source="Web.config" Transform="$(ProjectConfigTransformFileName)" Destination="Web.Transformed.config" />
</Target>

不要在Web应用程序项目中包含Web.Transformed.config – 如果您在visual studio中提醒您每次构建之后的更改是非常烦人的.
>在Web设置项目中:
选择内容文件 – >排除过滤器并添加Web.config(以及包含转换规则的所有其他Web.*.config文件).
>在Web设置项目中:
选择文件系统编辑器图标 – > web应用程序文件夹 – >添加文件
并在Web应用程序项目文件夹的根目录中选择Web.Transformed.config.
>在同一个屏幕中:右键单击Web.Transformed.config并将其重命名为Web.config

现在您可以生成.msi文件与选定的配置和根web.config文件被转换!请注意,这不会影响子文件夹中的web.config文件.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐