当我打开解决方案时,我的解决方案文件中有一个“不可用”的web项目。当我右键单击web项目并重新加载项目时,我得到以下错误:

Web应用程序项目mycompany.myapp.mywebproject已配置为使用IIS。无法找到Web服务器http://localhost/MyWebApp。

我还没有为这个web应用程序手动设置虚拟目录。

每个同事,Visual Studio应该提示我创建虚拟目录,但我没有得到提示。

在我的开发机器上安装IIS之前,我安装了VS2010。

这是我的开发机器设置:

Windows 7企业版 服务包1 64位操作系统 Visual Studio 2010企业服务包 IIS 7.5版


当前回答

当我试图从.csproj文件打开一个项目时,这发生在我身上,但我通过从VS打开项目来克服它:

文件>打开>网站

然后选择包含我的项目的目录。

其他回答

当这种情况发生时,最简单的解决方案是手动创建虚拟目录。

首先,您需要确保拥有正确的ASP版本。Net安装,并且您已经安装了IIS扩展。

要做到这一点,请转到C:\(Windows)\Microsoft.NET\Framework\(dotnetver)\的相关.net版本的文件夹 (将括号中的文件夹替换为PC上正确的文件夹)并运行此命令

aspnet_regiis.exe -i

接下来,一旦运行和完成,有时运行

iisreset

从命令行可以帮助,有时您不需要这样做。

接下来,进入IIS管理器,找到本地主机网站并选择添加文件夹。 浏览到项目中包含实际ASP. exe的文件夹。Net项目并添加它。

最后,右键单击你添加的文件夹,你应该有一个选项,说“转换为应用程序”或“创建虚拟目录”或类似的东西。

!!确保虚拟目录名称为“MyWebApp”!!

重新加载解决方案,它应该可以工作。

请小心;这不是一个编程问题(也不应该在这里发布),但我发布了这个指导,因为这是一个常见的问题,但我发布的建议是通用的;我列出的命令是正确的,但是你需要在IIS中执行的步骤可能会有所不同,这取决于你的版本和你的帐户权限。

好运!

对于我的项目,我必须从.csproj文件中删除这两行

<ProjectGuid>{3AA499DF-4A65-43B7-8965-D08A4C811834}</ProjectGuid>
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

我试着只删除第一个,但这还不够。

编辑:正如许多用户指出的那样,这可能会改变你的项目类型或搅乱你的源代码控制程序。我不能调查这些问题,因为这是学校的项目,我已经没有了。 尝试时请小心。至少要把你删除的内容复制一份。

在我的例子中,csproj文件中引用的url是不正确的。

它需要以www作为前缀。

我做了更改,保存文件和项目加载良好。

由于接受的答案需要IIS管理器,而IIS Express没有IIS管理器或任何UI,下面是为您的IIS Express用户提供的解决方案(也应该适用于其他人):

当您打开Visual Studio并得到错误消息时,右键单击项目解决方案资源管理器并选择“Edit {ProjectName}.csproj”

在项目文件中,修改以下行: 真正< UseIIS > < / UseIIS > 来 假< / UseIIS < UseIIS > > 保存文件。

现在重新加载项目。 完成了。

然后您就可以打开您的项目了。如果此时,您想使用IIS,只需转到项目属性,单击“Web”选项卡,并选择使用IIS的选项。这里有一个“创建虚拟目录”的按钮。它可能会告诉您需要以管理员身份运行Visual Studio来创建该目录,因此如果需要的话就这样做。

如果您是通过TFS连接的,请打开project. csproject .user文件并检查是否存在

<UseIISExpress>false</UseIISExpress>

把它改成真。

<UseIISExpress>true</UseIISExpress>