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リファレンス:
ソリューション:
問題を管理しました。ビルドパスを「\ bin」ではなく「c:...\bin」に設定しました。プロジェクトのルートにweb.configがないため、VSが私のプロジェクトをWebプロジェクトとして識別しなかったため、これが起こったと思います。
私はあなたの問題を再現しようとしましたが、ソリューションがビジュアルスタジオ2013で作成されたときに同様のエラーを見つけてから、2015年にビルドしようとしました。
NuGet Package Managerを再インストールすると、ビルドが正常に完了しました(そして閉じてから、VS 2015を再度開きました)。
参照/クレジット
VS 2015の以前のバージョンのNPMを使用したビルドの問題に関するいくつかのSO質問があります(つまり、試した結果をそのまま伝えています)。通常、定期的な解決策は、NPMを更新/再インストールするか、Power Shellで実行ポリシーを変更することです。私は、Windowsのブラックボックスをいじるのを避けるために、更新+再起動のアプローチが好きです。 1つのソース: https://stackoverflow.com/a/32251092/1158842 MSBuild統合ソリューションの問題もある可能性があります。この場合、ソリューション内のNuGetリソースから移行することで問題を解決できます。 。
インターネットからオープンソースプロジェクトを編集しようとしたとき、以前同じ問題がありました。
ソリューションをクリーニングして再構築するだけで解決しました。
お役に立てれば。
洗浄液は私のために働いた。
また、一度Visual Studioを閉じて再起動することをお勧めします。
次の手順を実行します :
それで全部です。
コンソールアプリケーションでaspnet.core mvcをホストしようとしているので、私のような人がここに来ました。これを解決できたのは、.csprojを新しい形式に変換してSDKプロパティを最初の行のProjectタグに追加します。
<Project Sdk="Microsoft.NET.Sdk.Razor">
ソリューションのクリーニングが機能しなかった場合、およびこの質問を見てプロジェクトを移動したり、名前を変更しようとした人にとっては。
パッケージマネージャーコンソールを開き、「dotnet restore」と入力します。
プロジェクト名を右クリックして、プロパティウィンドウを開きます。ターゲットフレームワークバージョンをダウングレードし、ソリューションをビルドしてから、ターゲットフレームワークバージョンを最新のビルドソリューションにアップグレードします。