|
|
1
30
答案是。。。 我在上面编辑了当前标识的用户名(即使未在原始MSBuild调用中传递该用户名)并将其持久化到MSDeploy命令之后,尝试重新构造参数以传递空用户名,如下所示:
然后生成以下MSDeploy命令:
此调用不再包含UserName属性。简而言之,如果不向MSBuild调用添加username参数,它将插入当前标识,并遵从basic auth,后者将失败,因为没有密码。如果包含username参数但不给它一个值,那么它根本不包含在MSDeploy命令中。 |
|
|
2
4
我在Microsoft.Web.Publishing.targets中看到:
所以,看起来默认值是
我还没试过,但可能是
|
|
|
3
0
我可以让NTLM按如下方式工作,其中服务是在[服务器名称]上具有管理员权限的帐户下运行的。 “C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe”app\Test.Web\Test.Web.csproj/T:Clean/T:Package/P:Configuration=Release C: “/M:http://[服务器名称]/MSDEPLOYAGENTSERVICE”“/A:ntlm-allowUntrusted” 产生: “C:\Program Files\IIS\Microsoft Web Deploy\msdeploy.exe”-源:package='C:\hudson\jobs\Test\workspace\app\Test.Web\obj\Release\package\Test.Web.zip'-dest:auto,computerName='http://[服务器名称]/MSDEPLOYAGENTSERVICE',authtype='ntlm',includeAcls='False'-动词:sync-disableLink:AppPoolExtension-disableLink:ContentExtension-disableLink:CertificateExtension-setParamFile:“C:\ hudson\jobs\Test\workspace\app\Test.Web\obj\Release\Package\RapidPrototypeRequestSystem.Web.SetParameters.xml”-allowUntrusted |
|
|
4
0
把这个过程分成两个步骤对我来说很有效-
|
|
|
5
-1
这起作用,我最初被目标文件分散了注意力,但意识到我的错误在连接字符串中,即试图使用https而不是http。 MSBuild.exe Web.csproj/p:Configuration=Debug/p:deploybuild=True/p:DeployTarget=MSDeployPublish/p:MsDeployServiceUrl=http://[serverName]/msdeployyagentservice/p:DeployIisAppPath=DeploymentTestProject/p:MSDeployPublishMethod=RemoteAgent/p:CreatePackageOnPublish=True/p:username= |