10

我在 Windows Server 2003 上的 VS 2008 中创建的 Web 应用程序拒绝在 Windows Server 2008 上的 VS 2008 中打开。

“Web 应用程序项目 'MyProjectName' 配置为使用 IIS。要访问本地 IIS 网站,您必须安装以下 IIS 组件:IIS 6 元数据库和 IIS 6 配置兼容性身份验证”。

我不想与 IIS 6 有任何关系,所以我不安装这些组件。我想要纯 IIS 7。

是否有升级工具或我可以在项目文件中修改的东西允许它们在 Visual Studio 中打开?

4

8 回答 8

13

这很奇怪。我唯一替换的是“ <IISUrl> http://localhost/site </IISUrl>”;在项目文件中使用“ <CustomServerUrl> http://localhost/site </CustomServerUrl>”,项目加载和调试(以管理员身份)就好了。

为什么标签名称的这种变化,似乎提供了相同的信息——项目 URL——足以阻止整个项目加载。不可接受。

于 2009-07-08T22:40:41.413 回答
2

我在从 VS2003 升级到 VS2010 的 Web 应用程序时遇到了同样的问题。在解决方案文件中,有一个部分如下所示:

Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyProject", "http://localhost/MyProject/MyProject.csproj", "{B5D94F04-9681-4391-8323-E39BE66CD0C1}"
    ProjectSection(ProjectDependencies) = postProject
    EndProjectSection
EndProject

我用“MyProject.csproj”替换了“http://localhost/MyProject/MyProject.csproj”。我还删除了 MyProject.csproj.webinfo 文件,因为它引用了同一个 IIS 虚拟目录。

完成这两项更改后,VS2010 转换向导似乎工作正常,并且我的 Web 应用程序打开了。我的项目不再依赖于 IIS。

于 2011-09-22T19:42:32.820 回答
1

我在打开之前从 .Net 1.1 Visual Studio 2008 升级的 Web 应用程序项目时遇到了类似的问题,阻止我在虚拟来宾服务器上打开项目,因为在我的主机操作系统上我没有安装 IIS 或相关组件,解决方案是右键单击无法加载的项目名称 - 或者在文件系统中打开 .csproj 文件 - 并将 UseIIS 节点更改为 false

于 2009-09-02T12:50:18.743 回答
1

因为一个标签是说 IIS 正在托管该站点,而另一个标签是说自定义(其他)Web 服务器是。

在自定义服务器中,VS 不会尝试管理任何内容。

在 IIS 中,它希望能够配置虚拟目录、权限、ASP.NET 配置等内容。

从错误消息来看,VS 认为您的本地计算机没有设置它需要执行此操作的组件。

于 2009-07-08T22:59:10.703 回答
1

另一位海报发布了以下内容:

您需要进入控制面板,打开或关闭 Windows 功能,展开 Internet 信息服务,找到“IIS 6 元数据库和 IIS 6 配置兼容性”复选框。在我的情况下这个已解决的问题(但我在 Windows 7 上)

尽管 Windows 7 中的此复选框中有“IIS 6”字样,但这似乎并不意味着您不能使用 IIS 7。事实上,用于启用“IIS 6 Metabase and IIS 6 配置兼容性”说明如下:

“安装 IIS 元数据库和兼容层以允许元数据库调用与新的 IIS 7 配置存储进行交互。”

在我看来,这与 IIS 6 以及与配置 IIS 7 以与遗留应用程序交互的一切无关。此外,单击此复选框为我解决了这个问题。

于 2010-08-25T22:41:43.440 回答
0

我找到了一篇简单的博客文章,它稍微解释了这个问题,以及这个特定的海报如何使用您提供的基本相同的补救措施(破解项目文件)解决了这个问题。 http://dean-o.blogspot.com/2009/04/open-iis-hosted-visual-studio-project.html

于 2009-10-01T15:14:22.020 回答
0

您需要进入控制面板,打开或关闭 Windows 功能,展开 Internet 信息服务,找到“IIS 6 元数据库和 IIS 6 配置兼容性”复选框。在我的情况下这个已解决的问题(但我在 Windows 7 上)

详细在这里:http: //msdn.microsoft.com/en-us/library/aa964620.aspx

于 2009-08-20T21:53:59.373 回答
0

在记事本中打开 *.csproj 文件,找到所有对 True 的引用,将它们切换为 false。

然后您的项目将打开。如果您愿意,可以使用 GUI 进一步编辑属性(端口、url 等)

于 2012-07-29T17:46:53.157 回答