我创建了一个ASP.NET MVC Web应用程序项目,我承诺使用Visual Studio Online(Git repo)并链接到Windows Azure网站以进行自动部署(如果所有单元测试都成功).我的项目包含默认的Web.Release.config转换,它应该删除Web.config属性/configuration/system.web/compilation/@debug,该属性应该(以及其他)启用脚本捆绑.
看来web.config转换在部署期间没有执行,所以我猜它在构建/部署期间不使用Release配置.
我也找不到在Visual Studio Online中更改默认构建定义的方法.
如何使用Release build配置让Visual Studio Online/Azure部署我的项目?
当您应用任何命令时
EF使用主要web.config中的连接字符串
即使您已使用xml转换配置了web.debug.config和web.release.config
这意味着,我必须冒险冒险忘记web.config在发布之前更改我的真实身份。
我有一个MVC5网站使用Visual Studio Online(TFS)的持续集成成功地将暂存和生产版本部署到Azure.
我已经使用自定义部署脚本跟随此博客文章
使用git持续交付到Azure网站
我甚至添加了构建到我的发布配置文件所需的构建.即.
stagingbuild | any cpu.
注意:上面提到的博文中没有提到这一点.
这些站点使用VS2013构建部署正常,但配置不会被转换.我只是得到默认web.config设置而不是转换后的web.staging.config等等.
注意:我现在只想改变一个
appSetting以使其正常工作
我完全理解如何编写变换,所以我不认为这是一个问题,当我在VS2013中预览我的变换时,它们会在预览窗口中变换.
注意:我不是直接从VS发布,而是将我的更改提交到repo,并且从我的Visual Studio Online repo中继续进行集成.
asp.net continuous-integration azure web.config-transform azure-devops
当我将.net Web应用程序部署到Amazon Beanstalk时,我的本地web.config将被完全忽略,并且将其替换为:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appSettings>
<add key="PARAM3" value="" />
<add key="PARAM4" value="" />
<add key="PARAM1" value="" />
<add key="PARAM2" value="" />
<add key="PARAM5" value="" />
<add key="AWS_SECRET_KEY" value="" />
<add key="AWSSecretKey" value="" />
<add key="AWS_ACCESS_KEY_ID" value="" />
<add key="AWSAccessKey" value="" />
</appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)
我以为beantalk无法解析我的web.config的某些部分,因此我将web.config简化到最低限度:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appSettings>
<add key="mykey" value="myvalue"/>
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.5"/>
<httpRuntime targetFramework="4.5"/>
</system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)
我得到相同的结果。我的appSettings和我的web.config的其他所有部分都不会出现在部署的web.config中。我到处都是,但找不到相关文档。我的本地应用程序中没有任何转换(即没有web.release.config文件)。我可以以某种方式禁用Beanstalk的“功能”吗?
我不要求采取任何措施,只希望部署原始的web.config。
amazon-web-services web.config-transform amazon-elastic-beanstalk
我根据环境在web.config文件中转换appsettings的值。当存在名称相同但大小写不同的键时,我遇到了一个问题,如下所示
当地价值
<add xdt:Transform="RemoveAll" xdt:Locator="Match(key)" key="LOGINURL" value="xyf" />
Run Code Online (Sandbox Code Playgroud)
开发价值
<add xdt:Transform="RemoveAll" xdt:Locator="Match(key)" key="LoginUrl" value="abcd" />
Run Code Online (Sandbox Code Playgroud)
我想不区分大小写地替换键的值。
TIA
我正在尝试从我的GIT存储库中删除我的web.release.config,因此我将其从git中删除git rm,然后将其添加到我的.gitignore文件中.
但是,只要我将文件再次复制到项目中,它就会被Visual Studio添加到挂起的更改中.
这是gitignore文件中的行:
Web.Release.config
Run Code Online (Sandbox Code Playgroud)
但它得到了补充:


如何从git成功删除web.release.config?
我正在使用msDeploy(3.0)来部署我的MVC应用程序.我有一个构建管道,为msdeploy生成构建工件,我的部署管道在将其部署到生产实例之前,在Web.config上应用适当的web.config转换.其中一个转换包括对连接字符串的更改.但是,查看已部署的实例,我的web.config转换似乎被构建工件中setParameters.xml中的参数覆盖.
理想的行为是我将避免将任何连接字符串添加到SetParameter.xml,以便我的所有连接字符串覆盖仅由我的部署管道控制.我如何实现这一目标?
下面是SetParameters.xml文件的示例
<parameters>
<setParameter name="IIS Web Application Name" value="Default/Foo"/>
<setParameter name="Foo-Web.config Connection String" value="Server=Foo,1433;Database=Bar;Integrated Security=SSPI;MultiSubnetFailover=True;App=Something;Connection Timeout=25"/>
</parameters>
Run Code Online (Sandbox Code Playgroud)
理想情况下,它看起来像
<parameters>
<setParameter name="IIS Web Application Name" value="Default/Foo"/>
</parameters>
Run Code Online (Sandbox Code Playgroud)
我已经尝试将parameters.xml文件传递给msbuild步骤,该步骤不包含连接字符串参数但不起作用
在我们的项目中,我们使用Microsoft规定的技术为每个环境提供多个配置文件,如下所述:http: //msdn.microsoft.com/en-us/library/dd465326.aspx
所以我们有以下文件:web.config web.Deploy.config web.Release.config
由于我们是一个小型开发团队,因此我们不需要让Visual Studio对这些文件进行更改,因此生活非常简单.除此之外,它们还受版本控制,以防我们需要回滚.
我们希望继续使用此方法,我们对将这些不同的文件移动到BuildMaster的配置管理系统不感兴趣.
我们如何让BuildMaster使用这些文件或使用MSDeploy创建我们的部署工件?
是否可以从构建中的web.config中删除注释行?xml转换可以删除一些元素,但我找不到任何语法来清除文件中的注释.
我们正在为我们的构建使用TFS 2010构建服务器.
我不知道这是一个环境问题还是其他问题; 但是,我一直在配置管理器中,我添加了一个新的"测试"和"发布",现在这些与Debug一起出现.我转到我的Web.config并右键单击,我没有看到"添加配置转换".我的最终目标是根据我发布的环境进行更改.我有什么选择让这项工作成功?
web-config ×5
asp.net ×3
asp.net-mvc ×2
azure ×2
azure-devops ×2
msdeploy ×2
buildmaster ×1
c# ×1
git ×1
gitignore ×1
msbuild ×1