是否可以使用Web Deploy的Parameters.xml系统将XML元素插入到我的web.config中?
该XMLFILE出现参数"厚道"是最接近我所需要的,但它的match属性只接受XPath查询,而我似乎没有能够在我的XPath查询指定一个不存在的元素.(或者说,我可以指定一个不存在的元素 - Web Deploy只是忽略它.)具体来说,我想改变它:
<configuration>
<plugins>
<add name="bleh"/>
</plugins>
</configuration>
Run Code Online (Sandbox Code Playgroud)
进入这个:
<configuration>
<plugins>
<add name="bleh">
<option name="foo" value="bar"/>
</add>
</plugins>
</configuration>
Run Code Online (Sandbox Code Playgroud)
(不幸的是,我无法使用空option元素预先存储web.config,因为这个特定的插件系统不喜欢无法识别/空的选项.)
谢谢你的任何想法!
我们使用teamcity来部署我们的几个项目.我正在尝试设置一个果园项目的部署,我目前遇到了一些问题.
我有团队城市项目建设并通知成功和失败的构建.当我添加部署步骤并运行它时,我收到以下错误:
C:\ Program Files(x86)\ MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets(3460,5):错误MSB4044:"ConcatFullServiceUrlWithSiteName"任务未获得所需的值参数"SiteAppName".
我不知道是不是我没有正确配置构建步骤,或者它是否与果园有问题.有没有人成功部署TeamCity的果园项目,你能帮助解决这个问题吗?
我最近将系统升级到Windows 7 Enterprise.我已经为在VS2010中使用.Net framework 3.5构建的控制台应用程序创建了一个安装包.但是当我尝试在XP机器上安装msi时,它给了我这个警告,需要.Net Framework 4.
我尝试解决错误的步骤:
我在上面的所有步骤都是徒劳的,因为我在XP机器上安装msi时仍然会收到警告.
有没有人有更好的想法来解决这个问题?
我们使用以下msbuild命令构建Visual Studio 2010解决方案:
msbuild MySolution.sln /p:DeployOnBuild=true;DeployTarget=Package
Run Code Online (Sandbox Code Playgroud)
此命令构建了解决方案,并为解决方案中的Web项目创建了部署包.
但是在我们迁移到Visual Studio 2012后,此命令不再起作用.构建了解决方案,但未创建任何部署包.
怎么解决?
当我在VS2012-MVC4-Project上点击发布时,输入我的凭据(本地域)并点击"验证连接"我收到错误消息:
"Web部署任务失败.(文件意外结束发生.以下元素未关闭:结果.第1行,第586位.)"
服务器正在运行Win Srv 2008 R2,IIS 7.5,Web Deploy 3.0.
使用目标IIS-Management-Studio上的import-option导入并选择由VS创建的ZIP文件将毫无问题地工作.
奇怪的是,WebDeploy已经有效了.这个错误来来去去,我无法弄清楚,原因是什么.
听起来像WebDeploy-service没有很好的响应.
我的设置是:服务UR:http:// {NAMEOFSERVER}站点/应用程序:默认网站
我认为问题标题几乎都说了,但为了清楚起见,我试图:
我一直试图通过微软的文档(这是非常无益的)来解决这个问题近一个星期,关于SO和一般谷歌搜索的其他答案.我不知道我是不是没有得到它(这是完全可能的),或者如果MSBuild/MSDeploy确实是它目前似乎是一个神秘的混乱.
有没有一种相当简单的方法来实现这一目标?请帮忙!
我无法使用MS Build参数运行Team Foundation 2013构建以进行部署,并且出现错误:
C:\ Program Files(x86)\ MSBuild\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.targets(4255):Web部署任务失败.('Microsoft.Web.Deployment.DeploymentBaseOptions'不包含'UserAgent'的定义)
VS 2013正在开发中.
奇怪的是,如果我将MSBuild文件夹*..\v11.0\Web*复制 到*v12.0\Web* 构建工作并进行部署.
我已经检查了v12.0\Web\Microsoft.Web.Publishing.targets文件,并且在v11.0\Web\Microsoft.Web.Publishing.targets中有一个UserAgent条目没有条目
我可以在我的计算机上使用VS Publish正常发布,但在构建服务器上它失败有没有人设法使用MSBuild VS 2013目标成功构建和部署?
根据我读到的内容,只要你有一个与发布配置文件的名称相匹配的转换,就应该应用它,但对我来说情况并非如此.
发布个人资料
PublisProfiles
dev.pubxml
local.pubxml
Run Code Online (Sandbox Code Playgroud)
变换
Web.Config
Web.Debug.config
Web.local.config
Web.Release.config
Run Code Online (Sandbox Code Playgroud)
当我使用本地配置发布时,我看到:
Transformed Web.config using C:\...\Web.Release.config into obj\Release\TransformWebConfig\transformed\Web.config.
Run Code Online (Sandbox Code Playgroud)
所以它正在使用Release.config ..我打开了local.pubxml并尝试更改它
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
Run Code Online (Sandbox Code Playgroud)
至:
<LastUsedBuildConfiguration>local</LastUsedBuildConfiguration>
Run Code Online (Sandbox Code Playgroud)
但后来它正在使用Web.Debug.config转换.
开发,发布,局部变换除了一些转换属性外是相同的.
.net transform msdeploy visual-studio-2012 visual-studio-2013
在web.config我有:
<applicationSettings>
<App.Properties.Settings>
<setting name="ProfitConnectorToken" serializeAs="String" xdt:Transform="Replace" xdt:Locator="Match(name)">
<value>__ProfitConnectorToken__</value>
</setting>
</App.Properties.Settings>
Run Code Online (Sandbox Code Playgroud)
在我的parameters.xml中:
<parameter name="ProfitConnectorToken" description="Description for ProfitConnectorToken" defaultvalue="__PROFITCONNECTORTOKEN__" tags="">
<parameterentry kind="XmlFile" scope="\\web.config$" match="/configuration/applicationSettings/App.Properties.Settings/setting[@name='ProfitConnectorToken']/value/text()" />
Run Code Online (Sandbox Code Playgroud)
在我的SetParameters.xml中:
<setParameter name="ProfitConnectorToken" value="<token><version>1</version><data>XXXXXXXXXXXXXXXXXXXXXXXXX</data></token>" />
Run Code Online (Sandbox Code Playgroud)
但是,部署Web应用程序时未设置此值.当我将SetParameters.xml更改为:
<setParameter name="ProfitConnectorToken" value="TEST" />
Run Code Online (Sandbox Code Playgroud)
它确实有效,所以我的XPath是正确的.为什么未设置编码的xml值?
我正在尝试将msdeployMVC应用程序用于运行在命令行上的windows7机器.并不断收到此错误:
错误代码:ERROR_DESTINATION_NOT_REACHABLE更多信息:无法连接到目标计算机("192.168.xxx.xxx").在目标计算机上,确保已安装Web Deploy并且已启动所需的进程("Web管理服务").错误:远程服务器返回错误:(404)Not Found.错误计数:1.
我已经验证了Wmsvc(似乎正在使用)和MsDepSvc正在运行.并且防火墙已禁用.在浏览器中,当我访问https://192.168.xxx.xxx:8172/msdeploy.axd时,我收到了服务器错误404,似乎比命令行停止的位置更远.
我可以在线找到的关于设置IIS7和Web部署的大多数说明都适用于MS服务器.我的本地计算机和Windows7计算机都安装了相同版本的Msdeploy.
msdeploy ×10
.net ×4
msbuild ×3
asp.net-mvc ×2
webdeploy ×2
asp.net ×1
c# ×1
deployment ×1
iis-7.5 ×1
orchardcms ×1
teamcity ×1
tfsbuild ×1
transform ×1
web-config ×1
xpath ×1
xslt ×1