6

我正在使用 Windows 8 RTM x64 上的 Visual Studio 2012 Premium 开发一个 ASP.NET MVC 4 站点。当我右键单击 Web 应用程序并选择“发布”时,Visual Studio 2012 会返回以下消息:

“无法打开 'http://.../' 的 url。异常:类未注册”

发布过程似乎工作正常,但无法启动浏览器。每次我尝试发布网站时都会发生这种情况,并且在 Chrome (21.0.1180.79 m) 或 Firefox (14.0.1) 上都会发生这种情况。

此外,由于该站点未启动发布后,我使用 Ctrl-F5 手动执行此操作。我可以正常浏览该站点,但是如果我右键单击任务栏上的浏览器图标以启动另一个浏览器实例,则什么也没有发生。关闭所有浏览器实例后,浏览器任务栏图标将恢复其正常行为。

我不确定这两个问题是否相关,但这里的共同主题是从 Visual Studio 2012 启动浏览器会导致意外的副作用。浏览器要么无法在发布时启动,要么使用 Ctrl-F5 启动,但使用任务栏图标启动另一个实例无用。

任何帮助表示赞赏。

编辑:我重新安装了整个软件堆栈(Windows 8、Office 2010、Visual Studio 2012、Windows Update、Chrome、Firefox)。除非我将 Internet Explorer 设为默认浏览器,否则上述问题仍然存在。

谢谢。

4

2 回答 2

4

我提交了一个 Chrome 错误,这是一个浏览器注册问题。如果您从下载中卸载并重新安装,并且确定对 UAC 提示说“是”,Chrome 将注册机器范围,而不是用户。这是以管理员身份启动所必需的。(HKLM vs. HKCU)

于 2012-10-25T21:24:46.923 回答
2

看起来这个问题比 Web Publish 操作更普遍。每当您使用 ShellExecute() API(或 Process.Start)访问 URL 时,在提升的权限下运行(即以管理员身份运行)时都会失败。

我在任何使用 Process.Start() 或 ShellExecute() 的应用程序中都看到了这一点。当 UAC 打开并且我在 UAC 帐户下正常运行它时,一切正常并且浏览器打开。使用“以管理员身份运行”运行失败。这很容易测试。

不确定这是否是操作系统中的错误,或者微软是否认为这是一项安全“功能”。

FWIW,有些人提到将IE设置为默认浏览器有效,但它对我不起作用。如果我提升了权限,基本上没有链接可以工作。这实际上破坏了我们在后台用于管理的许多管理应用程序。

于 2012-12-09T10:24:53.333 回答