3

我正在尝试在 TFS 解决方案中使用(VS 2008)Web 部署项目将网站部署到(TFS 2008)构建服务器以运行基于 Web 的单元测试。出于某种原因,我还无法弄清楚,它无法创建虚拟目录:

使用程序集“C:\Program Files\MSBuild\Microsoft\WebDeployment\v9.0\Microsoft.WebDeployment.Tasks.dll”中的“CreateVirtualDirectory”任务。任务“CreateVirtualDirectory”初始化 IIS Web 服务器... C:\Program Files\MSBuild\Microsoft\WebDeployment\v9.0\Microsoft.WebDeployment.targets(667,5): 错误:访问被拒绝。C:\Program Files\MSBuild\Microsoft\WebDeployment\v9.0\Microsoft.WebDeployment.targets(667,5):错误:无法创建虚拟目录“abc”。完成执行任务“CreateVirtualDirectory”——失败。

TFSService 用户肯定在 TFS Build 机器(运行 Windows Server 2008)上的 Administrators 组中。我不知道还有什么问题。我检查了事件日志,那里没有任何线索。我可以毫无问题地通过 IIS 控制台在该机器上手动创建虚拟目录。

任何想法可能是什么问题或有关如何进一步诊断的建议?

4

5 回答 5

1

它必须是权限...您是否尝试将 TFSService 放在您所在的同一组中?

于 2008-10-05T17:34:06.280 回答
1

TFS 帐户是否在与您用于连接 IIS 的帐户相同的权限下运行?按照 Craig 的建议做,将 TFS 帐户移动到您参与的组中。

于 2008-10-05T17:39:28.267 回答
0

我已经看到当 IIS 服务器未在默认端口上运行时发生这种情况。我建议检查 IIS 以查看它是否在端口 80 上运行,以进一步诊断您的问题。

于 2008-10-08T11:36:39.057 回答
0

我最终设法通过从我的 TFS 构建脚本中调用 Web 应用程序的 _CopyWebApplication 构建目标来进行部署(在手动创建 IIS 虚拟目录之后)。我不得不添加一个额外的目标来获取项目中要复制的链接文件,因为内置的 _CopyWebApplication 目标不包括这些。

于 2009-05-28T18:42:02.583 回答
0

您确定构建在 TFSService id 下运行,而不是在为构建设置的另一个 id 下运行,并且可能不在管理员组中?由于我主要进行单人开发,因此我所做的不仅仅是玩自动构建,但我记得我在查看此内容时设置了一个单独的构建 ID。

于 2008-10-06T01:54:22.743 回答