IIS Expressの代わりにローカルIISを使用するようにASP.NET Webアプリケーションを変更しました。ソリューションを再度開いた後、アプリケーションのロード中に次のエラーが発生します。
エラー:Visual C#2015コンパイラを作成できなかったため、プロジェクト 'Atlas2'を開くことができませんでした。 「Atlas2」はすでにワークスペースの一部です。
エラー:Visual C#2015コンパイラを作成できなかったため、プロジェクト 'Atlas2'を開くことができませんでした。同じキーを持つアイテムが既に追加されています。
プロジェクトをリロードする方法を教えてください。役立つ場合は、Visual Studio Team Services(以前はTFS Online)を使用しています。
問題を解決しました。プロジェクトをアンロードし、.csprojファイルを編集しました。次の変更を行いました。
<UseIISExpress>false</UseIISExpress>
をtrueに<UseIIS>True</UseIIS>
を削除<IISUrl>http://localhost/MyWebApp</IISUrl>
を削除その後、プロジェクトをリロードしました。出来た。実際には、IIS Express。
システムで同じ問題が発生し、管理者モードでVisual Studioを実行することで解決しました。問題はIIS ASP.NETプロジェクトと同じホスト+ポート名を持ち、管理者権限がないため、Visual StudioはWebサイトを追加できませんでした。
Visual Studio 2015でIIS Expressからfull IISに切り替えた後、このエラーが発生しました。管理者としてVisual Studioを実行したときにプロジェクトを読み込むことができました。
VS 2015でも同様のエラーが発生していました。
「ビジュアルc#2015コンパイラを作成できなかったため、開くことができませんでした。」 「同じキーで既に追加されています」
Visual Studio 2013でソリューションを開き、ソリューションをクリーニングし、Visual Studioを閉じてから、Visual Studio 2015で同じソリューションを開くことで、問題を回避できました。
また、この一連のイベントを実行した後、最初にこのエラーを発生させていたプロジェクトのcsprojファイルがProjectExtensions要素を更新し、<UseIIS>False</UseIIS>
エラーが発生したときと回避策の後のcsprojの差分の次の画像。
この回避策を使用する前に、その要素を手動で更新してfalseに設定しようとしましたが、機能しませんでした。
私は同様の問題に直面していましたが、言及された解決策のどれも私にとってはうまくいきませんでした。
ただし、Visual Studioの最近のソリューションリストからソリューションを開いていました。しかし、エクスプローラーでソリューションファイルをダブルクリックして開いたとき、プロジェクトは正しく読み込まれました。
問題は、アプリがExpressの代わりにlocal IISを使用するように構成されていることであり、アプリをロードできない2つの問題があります。
Issue 1。ローカルシステムにIISがインストールされていません。この場合、IISまたは。csprojファイルを開いて変更を行うには:
<UseIISExpress>false</UseIISExpress> to true
Remove <UseIIS>True</UseIIS>
Remove <IISUrl>http://localhost</IISUrl>
問題2。 Visual StudioはIISにアクセスできません。この場合、Visual Studioを管理者モードで開きます。
これは、認証がIISでセットアップされていない場合、またはIISでWebサイト(または仮想ディレクトリ)がセットアップされていない場合によく起こります。この問題を修正するには、IISマネージャーを開きます。
これによりWebサイトが開き、Visual Studioがプロジェクトをロードできるようになります。そうでない場合は、サイトの[詳細設定]に移動し、[物理パス資格情報]を選択します。パススルー認証に設定されていることを確認してください。
このエラーが発生していました。
IIS-Expressを使用しています。そしてVS2015があります。
.csprojファイルをいじくり回した後、...それを機能させることができました。
現在のファイルをTFSソース管理にあるものと比較した後、唯一の違いはこの行でした。
以前は、この行は存在しませんでした。私の「作業中」(メッシンと一緒に)ファイルには、
<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' ">
新しいSlnファイルを作成しました。
ソリューションを閉じます。
メインプロジェクトのプロジェクトファイルを開きます。問題のプロジェクトを新しいSlnファイルに追加し直します。
古い障害のあるファイルの上にSlnファイルを保存します。
Visual Studio 2017のアップグレードでこの問題が発生しました。修正され、更新されたリリースで利用できるようになりました。
製品内通知または https://www.visualstudio.com から最新のアップデートをダウンロードできます。
WCF RESTサービスをIISExpressからlocalhostに移動したときに同じ問題が発生しました。そのため、メモ帳で.csprojファイルを開いてUseIISExpressを探し、その値をfalseから変更しました。 VS2015を管理者として開いて機能しましたが、良いことは、プロジェクトを実行しても、IISExpressではなくローカルホストで実行されていることです。