当我打开解决方案时,我的解决方案文件中有一个“不可用”的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版
当这种情况发生时,最简单的解决方案是手动创建虚拟目录。
首先,您需要确保拥有正确的ASP版本。Net安装,并且您已经安装了IIS扩展。
要做到这一点,请转到C:\(Windows)\Microsoft.NET\Framework\(dotnetver)\的相关.net版本的文件夹
(将括号中的文件夹替换为PC上正确的文件夹)并运行此命令
aspnet_regiis.exe -i
接下来,一旦运行和完成,有时运行
iisreset
从命令行可以帮助,有时您不需要这样做。
接下来,进入IIS管理器,找到本地主机网站并选择添加文件夹。
浏览到项目中包含实际ASP. exe的文件夹。Net项目并添加它。
最后,右键单击你添加的文件夹,你应该有一个选项,说“转换为应用程序”或“创建虚拟目录”或类似的东西。
!!确保虚拟目录名称为“MyWebApp”!!
重新加载解决方案,它应该可以工作。
请小心;这不是一个编程问题(也不应该在这里发布),但我发布了这个指导,因为这是一个常见的问题,但我发布的建议是通用的;我列出的命令是正确的,但是你需要在IIS中执行的步骤可能会有所不同,这取决于你的版本和你的帐户权限。
好运!
由于接受的答案需要IIS管理器,而IIS Express没有IIS管理器或任何UI,下面是为您的IIS Express用户提供的解决方案(也应该适用于其他人):
当您打开Visual Studio并得到错误消息时,右键单击项目解决方案资源管理器并选择“Edit {ProjectName}.csproj”
在项目文件中,修改以下行:
真正< UseIIS > < / UseIIS >
来
假< / UseIIS < UseIIS > >
保存文件。
现在重新加载项目。
完成了。
然后您就可以打开您的项目了。如果此时,您想使用IIS,只需转到项目属性,单击“Web”选项卡,并选择使用IIS的选项。这里有一个“创建虚拟目录”的按钮。它可能会告诉您需要以管理员身份运行Visual Studio来创建该目录,因此如果需要的话就这样做。
这可能会在2020年帮助到一些人。主要问题是CSPROJ文件中的IIS设置与计算机的配置不匹配。例如,如果Web应用程序项目指向localhost:12345,并且没有在该端口上的机器上设置虚拟目录,则会得到此错误。
在使用VS2019时,我遇到了同样的问题,CSProj文件中的IIS设置被忽略了。这样做的原因是CSProj文件中一个名为“SaveServerSettingsInUserFile”的新属性:
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
<WebProjectProperties>
<SaveServerSettingsInUserFile>True</SaveServerSettingsInUserFile>
</WebProjectProperties>
</FlavorProperties>
<UserProperties UseAjaxifiedTemplates="True" UseJQuerySupport="True" />
</VisualStudio>
</ProjectExtensions>
将此设置为TRUE时,IIS/Web服务器属性位于
.CSPROJ。工程名称相同的用户文件。
这允许项目的各个用户拥有自己的IIS设置,前提是该文件没有签入源代码控制。
您可以使用Visual Studio GUI在项目属性“Web”下的“应用服务器设置到所有用户”中控制设置的存储位置
当它打开时,IIS设置存储在CSPROJ中,当它关闭时,它们存储在CSPROJ中。用户
原因:项目内部的IISURL。Csproj没有正确地反映在项目设置中,并且没有创建虚拟目录。
解决方案:将项目URL更改为正确的PORT,并创建虚拟目录以使缺少的PORT可用。
遵循以下步骤:
步骤1:右键单击项目文件编辑项目。csproj文件。
第二步:搜索IIS,从<UseIIS>True</UseIIS>修改为<UseIIS>False</UseIIS>
步骤3:右键单击项目重新加载项目。重新加载成功后,右键单击项目并选择属性。
步骤4:在Properties => Web下找到项目URL选项
步骤5:将项目URL更改为错误消息和<IISURL>http://localhost:8086 </IISURL>中的IISURL。csproj文件。然后单击“创建虚拟目录”。保存所有
步骤6:重做步骤2,这样就不会影响远程代码库和服务器部署设置。