web-dev-qa-db-ja.com

タイプまたはネームスペース名「システム」が見つかりませんでした

Visual Studio 2015 Professionalでプロジェクトを開くと、すべてのビュー(* .cshtml)で次のエラー(およびその他)が発生します。

エラーCS0246型または名前空間名 'System'が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?)重大度コード説明プロジェクトファイル行

エラーCS0518定義済みのタイプ 'System.Object'が定義またはインポートされていません重大度コード説明プロジェクトファイル行

エラーCS0518事前定義されたタイプ 'System.String'が定義またはインポートされていません

私はこれらの参照を得ました:

<ItemGroup>
<Reference Include="Microsoft.CSharp" />
<Reference Include="Sitecore.Kernel, Version=7.0.0.0, Culture=neutral, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>N:\XXX\Sitecore.Kernel.dll</HintPath>
</Reference>
<Reference Include="Sitecore.Mvc">
  <HintPath>N:\XXX\Sitecore.Mvc.dll</HintPath>
</Reference>
<Reference Include="System.Web.DynamicData" />
<Reference Include="System.Web.Entity" />
<Reference Include="System.Web.ApplicationServices" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Core" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Web.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>N:\XXX\System.Web.Helpers.dll</HintPath>
</Reference>
<Reference Include="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>N:\XXX\System.Web.Mvc.dll</HintPath>
</Reference>
<Reference Include="System.Web.Providers">
  <HintPath>N:\XXX\System.Web.Providers.dll</HintPath>
</Reference>
<Reference Include="System.Web.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>N:\XXX\System.Web.Razor.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>N:\XXX\System.Web.WebPages.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages.Deployment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>N:\XXX\System.Web.WebPages.Deployment.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>N:\XXX\System.Web.WebPages.Razor.dll</HintPath>
</Reference>
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Drawing" />
<Reference Include="System.Web" />
<Reference Include="System.Xml" />
<Reference Include="System.Configuration" />
<Reference Include="System.Web.Services" />
<Reference Include="System.EnterpriseServices" />

Mscorlibが参照されていないという解決策を見つけました。しかし、追加しようとすると、それは既に存在していると言いました(csprojファイルに表示されていませんが)。

System.dllリファレンス:

enter image description here

enter image description here

ソリューション:

問題を管理しました。ビルドパスを「\ bin」ではなく「c:...\bin」に設定しました。プロジェクトのルートにweb.configがないため、VSが私のプロジェクトをWebプロジェクトとして識別しなかったため、これが起こったと思います。

31

私はあなたの問題を再現しようとしましたが、ソリューションがビジュアルスタジオ2013で作成されたときに同様のエラーを見つけてから、2015年にビルドしようとしました。

NuGet Package Managerを再インストールすると、ビルドが正常に完了しました(そして閉じてから、VS 2015を再度開きました)。

参照/クレジット

VS 2015の以前のバージョンのNPMを使用したビルドの問題に関するいくつかのSO質問があります(つまり、試した結果をそのまま伝えています)。通常、定期的な解決策は、NPMを更新/再インストールするか、Power Shellで実行ポリシーを変更することです。私は、Windowsのブラックボックスをいじるのを避けるために、更新+再起動のアプローチが好きです。 1つのソース: https://stackoverflow.com/a/32251092/1158842 MSBuild統合ソリューションの問題もある可能性があります。この場合、ソリューション内のNuGetリソースから移行することで問題を解決できます。 。

ソース: https://stackoverflow.com/a/31811461/1158842

4
hubson bropa

インターネットからオープンソースプロジェクトを編集しようとしたとき、以前同じ問題がありました。

ソリューションをクリーニングして再構築するだけで解決しました。

お役に立てれば。

39
Malek

洗浄液は私のために働いた。

また、一度Visual Studioを閉じて再起動することをお勧めします。

16
Mob RulesAll

次の手順を実行します :

  1. [ソリューション]> [NuGetパッケージの復元]を右クリックします。
  2. solution> Clean Solutionを右クリックします
  3. [ソリューション]> [ソリューションのビルド]を右クリックします
  4. Visual Studioを閉じて、再度開きます。

それで全部です。

9
user1598814

コンソールアプリケーションでaspnet.core mvcをホストしようとしているので、私のような人がここに来ました。これを解決できたのは、.csprojを新しい形式に変換してSDKプロパティを最初の行のProjectタグに追加します。

<Project Sdk="Microsoft.NET.Sdk.Razor">

1
L.Trabacchin

ソリューションのクリーニングが機能しなかった場合、およびこの質問を見てプロジェクトを移動したり、名前を変更しようとした人にとっては。

パッケージマネージャーコンソールを開き、「dotnet restore」と入力します。

1
Ralf

プロジェクト名を右クリックして、プロパティウィンドウを開きます。ターゲットフレームワークバージョンをダウングレードし、ソリューションをビルドしてから、ターゲットフレームワークバージョンを最新のビルドソリューションにアップグレードします。

0
jeremy