2012-10-08 73 views
2

我正在尝试使用C#使用TFS API检入,检出,GetLatest等。 对于开发PC和管理员用户来说,这个工作完美无瑕。然而,在没有安装VS 2010的专用主机上,并且TFS用户是非管理员,这不起作用。 我得到以下错误: *TFS API是否需要Visual Studio?

Access to the registry key 'HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0' is denied. 2012-10-08 14:58:30 [...] error : at Microsoft.Win32.RegistryKey.Win32Error(Int32 errorCode, String str)
at Microsoft.Win32.RegistryKey.CreateSubKey(String subkey, RegistryKeyPermissionCheck permissionCheck, RegistrySecurity registrySecurity) at Microsoft.TeamFoundation.Client.UIHost.get_UserRegistryRoot() at Microsoft.TeamFoundation.VersionControl.Client.Workstation.get_GetLatestOnCheckout()

*

我不知道这是否有管理员权限吗? TFS“用户”实际上是一个运行在该帐户下的网站,因此它不应该是管理员。

我试着用我自己的凭据在同一台机器上运行一个测试控制台应用程序,它工作。所以这是一个凭证。

任何人都可以帮忙吗? 使网站用户帐户成为管理员足够了吗?

并且:创建本地工作区时,它想要访问注册表是什么?

+0

我已经能够在没有Visual Studio的情况下进行TFS工作项API调用。如果显示哪种操作会导致此异常,可能会有所帮助。 – awl

+2

您在编写它时用自己的凭据回答了您的问题。我不知道你使用的是什么iis版本,但默认情况下,aspnet用户/应用程序池用户没有登录权限。您不必将用户变成管理员,只需添加一个读取(如果需要,请写入)权限,以便访问注册表项。 – YavgenyP

+0

听起来像安全/凭证问题。当您使用自己的凭证运行网站时会发生什么? –

回答

相关问题