我将ASP.NET Web应用程序更改为使用本地IIS而不是IIS Express。现在重新打开解决方案后,加载应用程序时出现以下错误:
错误:项目' Atlas2'因为无法创建Visual C#2015编译器而无法打开。 ' Atlas2'已经是工作区的一部分。
错误:项目' Atlas2'因为Visual C#无法打开 无法创建2015编译器。具有相同键的项目具有 已被添加。
有人可以帮助我如何重新加载项目吗? 我使用Visual Studio Team Services(TFS Online),如果有帮助的话。
答案 0 :(得分:34)
我解决了我的问题。我卸载了项目并编辑了.csproj文件。我做了以下更改:
<UseIISExpress>false</UseIISExpress>
为真<UseIIS>True</UseIIS>
<IISUrl>http://localhost/MyWebApp</IISUrl>
然后我重新加载了项目。有效。实际上它回滚使用IIS Express。
答案 1 :(得分:25)
我的系统出现了同样的问题,并通过以管理员模式运行Visual Studio解决了问题。问题是IIS具有与ASP.NET项目相同的主机+端口名称,并且没有管理员权限,Visual Studio无法添加网站。
答案 2 :(得分:6)
使用Visual Studio 2015从IIS Express切换到完整IIS后出现此错误。 当我以管理员身份运行Visual Studio时,我能够加载项目。
答案 3 :(得分:4)
我在VS 2015中遇到了类似的错误。
“无法打开,因为visual c#2015编译器无法打开 创建。“”已添加相同的键“
我能够通过在Visual Studio 2013中打开解决方案,清理解决方案,关闭visual studio,然后在Visual Studio 2015中打开相同的解决方案来解决此问题。
我还注意到,在执行此事件序列之后,最初提供此错误的项目的csproj文件更新了其ProjectExtensions元素并设置了<UseIIS>False</UseIIS>
在发生错误时和解决方法之后csproj之间差异的图片。
请记住,在我使用此解决方法之前,我尝试手动更新该元素并设置为false,但这不起作用。
答案 4 :(得分:3)
问题是应用程序已配置为使用本地IIS而不是Express,并且他们可能会因为您无法加载应用程序而导致两个问题。
问题1。您的本地系统中没有安装IIS。在这种情况下,您必须安装IIS或必须打开 .csproj 文件并执行此操作变化:
<UseIISExpress>false</UseIISExpress> to true
Remove <UseIIS>True</UseIIS>
Remove <IISUrl>http://localhost</IISUrl>
问题2. Visual Studio无权访问IIS,在这种情况下只需以管理员模式打开Visual Studio。
答案 5 :(得分:3)
我遇到了类似的问题,但提到的解决方案都没有对我有用。
但是,我在visual studio最近的解决方案列表中打开了我的解决方案。但是,当我通过双击它从资源管理器打开解决方案文件时,项目正确加载。
答案 6 :(得分:2)
当在IIS中未设置身份验证或未在IIS中设置网站(或虚拟目录)时,通常会发生这种情况。要解决此问题,请打开IIS管理器。
这应该打开网站,以便Visual Studio可以加载您的项目。如果没有,请转到您的站点的“高级设置”,然后选择“物理路径凭据”。确保设置为传递身份验证。
答案 7 :(得分:0)
我收到了这个错误。
我正在使用IIS-Express。我有VS2015。
搞乱了.csproj文件......我能够让它发挥作用。
将我当前的文件与TFS源代码控制中的内容进行比较后,唯一的区别就是这一行。
以前,这条线不存在。在我的工作中#34; (在混乱之后)文件,我有
<UseGlobalApplicationHostFile />
同样,在导致错误的csproj中,我没有神奇的线条,但是在工作的csproj中,我有了它。
以下是上述行,在上下文中。只使用下面的面包屑,不要复制/粘贴所有面包屑。神奇的线从底部开始是3。
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>
</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}</ProjectGuid>
<ProjectTypeGuids>{E3E379DF-F4C6-4180-9B81-6769533ABE47};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>MyRootNamespace</RootNamespace>
<AssemblyName>MyAssemblyName</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<MvcBuildViews>false</MvcBuildViews>
<UseIISExpress>true</UseIISExpress>
<IISExpressSSLPort />
<IISExpressAnonymousAuthentication>enabled</IISExpressAnonymousAuthentication>
<IISExpressWindowsAuthentication>enabled</IISExpressWindowsAuthentication>
<IISExpressUseClassicPipelineMode>false</IISExpressUseClassicPipelineMode>
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
<UseGlobalApplicationHostFile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
答案 8 :(得分:0)
当我将我的WCF REST服务从IISExpress移动到localhost时,我遇到了同样的问题。所以,我做的是在记事本中打开.csproj文件并查找UseIISExpress,将其值从false更改为True。 然后以管理员身份打开VS2015,它运行正常。好处是,当我运行项目时,它仍然在我的localhost上运行而不是IISExpress。
答案 9 :(得分:0)
我在Visual Studio 2017的升级时遇到了这个问题。它已经修复,现在可以在更新的版本中使用。
您可以通过产品内通知或https://www.visualstudio.com
下载最新更新价: Project could not be opened because the Visual C# 2017 compiler could not be created
答案 10 :(得分:0)
我创建了一个新的Sln文件。
关闭解决方案。
打开主项目的Project文件。将违规项目添加回新的Sln文件。
将Sln文件保存在旧故障文件的顶部。
答案 11 :(得分:-1)
我有同样的错误,这就解决了我的问题。在解决方案的根目录中,您应该看到.vs / config / applicationhost.config。在此文件夹中删除违规站点。我看起来像这样:
<site name="FrontEnd.Web" id="2">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="C:\xxxxx\xxxxx\xxxxx\FrontEnd.Web" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:3391:localhost" />
</bindings>
</site>
我删除了此应用程序的整个网站代码,已保存,然后右键单击我的解决方案&gt;添加&gt;现有项目并将项目重新添加到解决方案中。