小编Mic*_*ire的帖子

如何使用WMSVC服务和NTLM身份验证在Team Build 2010中使用MSDeploy进行部署?

我正在尝试使用Team Build 2010部署到Windows Server 2008 R2 Web服务器.我的构建服务器代理设置为在Windows域帐户下运行.我已使用IIS管理器权限在我的Web服务器上成功授予此域帐户权限以进行部署.此帐户不是 Web服务器上的管理员.我可以使用以下参数使构建部署正常:

/p:DeployOnBuild=True 
/p:DeployTarget=MsDeployPublish 
/p:CreatePackageOnPublish=False 
/p:MSDeployPublishMethod=WMSVC 
/p:AllowUntrustedCertificate=True 
/p:MSDeployServiceUrl=webservername
/p:DeployIisAppPath="Web Site Name"
/p:UserName=DOMAIN\BUILDID
/p:Password=buildidpassword
Run Code Online (Sandbox Code Playgroud)

因为其他开发人员将要设置他们的构建,我宁愿不发布域帐户的密码,我需要使用NTLM身份验证进行部署.我想继续使用Web管理服务方法(WMSVC)进行部署,因此BUILDID不必是管理员.

我深入研究了"Microsoft.Web.Publishing.targets",看来我应该能够传递一个AuthType参数来控制授权类型,但似乎没有任何效果.我试过了:

/p:DeployOnBuild=True 
/p:DeployTarget=MsDeployPublish 
/p:CreatePackageOnPublish=False 
/p:MSDeployPublishMethod=WMSVC 
/p:AllowUntrustedCertificate=True 
/p:MSDeployServiceUrl=webservername
/p:DeployIisAppPath="Web Site Name"
/p:AuthType=NTLM
Run Code Online (Sandbox Code Playgroud)

而且我也尝试了一个空白的用户名(如StackOverflow上的其他地方所见),但无济于事.我继续得到错误:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets(3847,5):错误:Web部署任务失败.(使用Web管理服务连接到目标计算机("webservername"),但无法授权.请确保您使用的是正确的用户名和密码,即您要连接的站点存在,并且凭据代表有权访问该站点的用户.)

我也尝试过UseMsdeployexe上一个链接中提到的参数,但后来我得到了与web.config转换相关的其他错误.看起来问题已经出现在Microsoft Connect上,并且在下一期中列为已修复.

msbuild tfs team-build msdeploy tfs2010

30
推荐指数
2
解决办法
4143
查看次数

一个单元如何测试与核心蓝牙 API 交互的代码?

我想单元测试充当一个类CBPeripheralManagerDelegateCBPeripheralManager类。通常,为了排除外部类依赖项,我会使用一种形式的依赖项注入,通过类初始值设定项或通过属性传入。在处理基于单例的 API 时,我已经能够使用像 Kiwi 这样的库来存根返回单例的类级方法(即[ClassName stub:@selector(sharedInstance) andReturn:myStubbedInstance])。模拟情况下的问题CBPeripheralManager是它的初始值设定项采用委托实例。所以任何使用我的类的代码都需要做这样的事情:

PeripheralManagerWrapper *wrapper = [[PeripheralManagerWrapper alloc] init];
CBPeripheralManager *peripheralManager = [[CBPeripheralManager alloc] initWithDelegate:wrapper queue:nil options:nil];
wrapper.peripheralManager = peripheralManager;
Run Code Online (Sandbox Code Playgroud)

然后,为了对我的PeripheralManagerWrapper类进行单元测试,我可以简单地实例化它并传入一个模拟的CBPeripheralManager. 但是,我不喜欢要求我的包装器对象的任何调用代码都必须经过此设置。有没有更好的模式来处理这种情况?我已经使用了 Kiwi 和 OCMockito,但似乎都没有提供这个功能,除非可能存根allocinit方法,CBPeripheralManager然后只是在PeripheralManagerWrapper 的初始化程序中实例化实例。

unit-testing objective-c core-bluetooth ocmockito kiwi

6
推荐指数
1
解决办法
2526
查看次数