在构建期间设置web.config属性(而不是通过发布)
我正在尝试使用Web Setup Project部署应用程序。 我遇到的问题是web.config文件永远不会被转换。 根据这篇文章 ,按照设计,转换只发生在发布期间。 如果依次构建安装项目调用其他程序集构建命令,如何正确更新web.config属性?
我通过添加一个虚拟的web.Template.config文件来修复它,就像Andriy K在这篇文章中建议的那样,然后在我的BeforeBuild事件中调用TransformXml,如下所示:
最简单的选择是安装命令行xslt实用程序并在项目的构建后操作中启动它。 您还可以使用许多MSBuild XSLT任务之一并将其添加到.csproj文件中。 (它只是一个MSBuild脚本文件;底部附近已有注释,说明如何自定义构建。)
您还可以在安装项目的预构建操作中执行这些步骤中的任何一个,而不是Web应用程序的构建后操作。 如果您还使用发布向导,则第二个选项可能会更好,因为它不会干扰发布者中正常的XSLT转换。
Microsoft XSLT命令行实用程序: http : //www.microsoft.com/downloads/en/details.aspx? FamilyID = 2fb55371-c94e-4337-b0e9-db4816552e41&displaylang = en
示例MSBuild XSLT任务: http : //www.arlt.eu/blog/2007/10/01/msbuild-xslt-task/
- HTTP错误403.14 – 禁止使用 – 带有IIS Express的MVC 4
- 将当前日期分配给MVC中的属性
- 是否可以在控制器之外获得ModelState.IsValidfunction?
- ASP.NET Web API从模型 – 帮助页面生成所有参数
- 文件上传并错误地保存到数据库
- @ Html.ValueFor(x => x.PropertyName)和@ Model.PropertyName之间的区别是什么?
- asp.net标识中的用户名validation消息问题
- JSON.NET反序列化/序列化JsonProperty JsonObject
- asp.net mvc客户端validation不起作用?