web-dev-qa-db-ja.com

エラーCS0234:型または名前空間名「AspNetCore」が名前空間「Microsoft」に存在しません(アセンブリ参照がありませんか?)

次のテンプレートプロジェクトをASP.NET Core 1.1にアップグレードしようとしています。 https://github.com/wilanbigay/aspnet-core-aurelia-TypeScript-starter

Dotnet migrateを実行した後、project.jsonファイルは削除され、新しいcsprojファイルが使用されます。

Visual Studio CodeとNuget4Code拡張機能を使用して、すべてのコンポーネントをASP.NET Core 1.1にアップグレードしました。

CsProjには次のようなエントリが含まれています。

<ItemGroup>
    <PackageReference Include="Microsoft.NET.Sdk">
      <Version>1.0.0-alpha-20161104-2</Version>
      <PrivateAssets>All</PrivateAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.NET.Sdk.Web">
      <Version>1.0.0-alpha-20161104-2</Version>
      <PrivateAssets>All</PrivateAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.NETCore.App">
      <Version>1.1.0</Version>
    </PackageReference>
    <PackageReference Include="Microsoft.AspNetCore.Mvc">
      <Version>1.1.0</Version>
    </PackageReference>

ただし、コンパイルの問題があります。 AspNetCore名前空間が見つからないようです。エラーが発生しています

エラーCS0234:タイプまたは名前空間名「AspNetCore」は、名前ペース「Microsoft」に存在しません(アセンブリ参照がありませんか?)

参照セクションでVisual Studioでできるように参照を確認する方法がわかりません。どうすれば解決できますか?

18
Chris Nevill

だから私は依存関係を参照していたが、プロジェクトにそれらをインストールしていないと思います。

必要なのは、dotnet restoreを実行することだけでした。

https://docs.Microsoft.com/en-us/dotnet/articles/core/tools/dotnet-restore

上記のリンクで述べたように、この「プロジェクトの依存関係とツールを復元します。」

13
Chris Nevill

この問題は、Visual Studioがnugetを経由するのではなく、ローカル参照を有効に追加したときに発生しました。

<ItemGroup>
  <Reference Include="Microsoft.AspNetCore.Mvc.Core">
    <HintPath>C:\Program Files\dotnet\sdk\NuGetFallbackFolder\Microsoft.aspnetcore.mvc.core\2.0.0\lib\netstandard2.0\Microsoft.AspNetCore.Mvc.Core.dll</HintPath>
  </Reference>
</ItemGroup>

これを削除し、nugetを介して参照することで問題が解決しました。これはVisual Studio 2017の問題のようです。

12
Dave Glassborow

私の問題は、ソリューション内のプロジェクトが適切にビルドされていなかったため、ソリューション内の他のプロジェクトから参照できないことでした。

解決策は、Visual Studioを更新することでした(バージョン15.5.6からバージョン15.9.1に更新しました)MicrosoftのVSダウンロードページ へのリンクです。

1
Eric

変化

<ItemGroup>
  <Reference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore">
    <HintPath>..\..\..\..\..\..\..\Program Files\dotnet\sdk\NuGetFallbackFolder\Microsoft.aspnetcore.identity.entityframeworkcore\2.2.0\lib\netstandard2.0\Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll</HintPath>
  </Reference>
</ItemGroup>

<ItemGroup>
  <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="2.2.0" />
</ItemGroup>

@ dave-glassborowが答えたように問題を解決しました

私が参照したのは単純にMicrosoft.AspNetCore.App .csprojファイル内。

私は参照を追加し、それが機能しました:

MyTestProject.csproj

<Project Sdk="Microsoft.NET.Sdk">
  ...
  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.App" />
  </ItemGroup>
  ...
</Project>
1
user875234

Microsoft.AspNetCore.WebUtilities nugetパッケージを追加するだけです

0