2015-12-03 117 views
2

我正在尝试为Visual Studio Online中的Azure网站设置版本。不幸的是,我无法通过这个参数设置web.config参数。在Visual Studio Online版本中使用parameters.xml

据我所见,正在使用powershell脚本Publish-AzureWebsiteProject,它不支持parameters.xml转换。

有没有办法做到这一点?我不想在我的代码中存储生产连接字符串。

预先感谢您。

编辑:更多的细节:

我有一个网站项目与web.config中如下:

<appSettings> 
    <add key="SampleSetting" value="ABC" /> 
</appSettings>` 

然后,我已经与以下内容的parameters.xml文件:

<?xml version="1.0" encoding="utf-8" ?> 
<parameters> 
    <parameter name="SampleSetting" description="This is sample setting" defaultvalue="DEFAULT" tags=""> 
    <parameterentry kind="XmlFile" scope="\\web.config$" match="/configuration/appSettings/add[@key='SampleSetting']/@value"> 
    </parameterentry> 
    </parameter> 
</parameters> 

我试着设置“附加参数”为:

-SampleSetting "$(SampleSetting)"

并在配置选项卡“SampleSetting”中设置为“FGH”。

当我跑发行,我收到以下错误:

##[error]A parameter cannot be found that matches parameter name 'SampleSetting'.

是正在运行部署蔚蓝网站的命令是:

Publish-AzureWebsiteProject -Name "sheeplapublishertests" -Package  "C:\a\31c60136a\SampleWebAppReleaseBuild\SampleWebAppBuild\SampleWebApp\obj\Debug\Package\SampleWebApp.zip" -SampleSetting "FGH" 
+0

实际上,https://msdn.microsoft.com/en-us/library/azure/dn722468.aspx(在示例5中)指出可以提供动态参数。但如何做到这一点? –

+0

我刚刚尝试了web中的Parameters.xml参数。将网站部署到Azure后,配置更新成功。使用Parameters.xml设置值时是否显示任何错误消息? –

回答

0

可以使用额外的参数字段通过dynamic parameter将覆盖Web.Config中的那些。

让我们假设您想用连接字符串覆盖'DefaultConnection'字段。

将版本定义的配置部分的连接字符串保存为安全字符串。您可以勾选右侧的小锁符号以将配置变量标记为安全。

enter image description here

然后在Azure的Web应用程序部署的附加参数部分,你可以指定-DefaultConnection $(DefaultConnection)

enter image description here

您可以通过在其他参数字段的多个参数。

+0

谢谢你的回答 - 我已经试过了,并没有奏效。请查看我编辑的问题了解详情。 –

0

您还可以将产品连接字符串存储在Azure中。在此之后,您只需要在您的web.config文件中放置一个虚拟字符串。 Azure会自动覆盖连接字符串。详情请查询this instruction

+0

实际上,构建日志中有以下消息: '2015-12-03T14:46:38.2155549Z添加声明参数'SampleSetting'.'。我想这应该工作:/ –

+0

另外 - 我需要这样的解决方案来处理云服务 - 我希望自动构建和发布将解决这个问题。它看起来,它不工作:/ –

+0

不幸的是,有一个错误,因为我的问题提供了一个错误 - '## [错误]一个参数不能找到匹配参数名称'SampleSetting'.':/我会尝试挖进一步发现我在做什么错误。你有任何可能有帮助的链接?谢谢! –

相关问题