次のテンプレートプロジェクトを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でできるように参照を確認する方法がわかりません。どうすれば解決できますか?
だから私は依存関係を参照していたが、プロジェクトにそれらをインストールしていないと思います。
必要なのは、dotnet restoreを実行することだけでした。
https://docs.Microsoft.com/en-us/dotnet/articles/core/tools/dotnet-restore
上記のリンクで述べたように、この「プロジェクトの依存関係とツールを復元します。」
この問題は、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の問題のようです。
私の問題は、ソリューション内のプロジェクトが適切にビルドされていなかったため、ソリューション内の他のプロジェクトから参照できないことでした。
解決策は、Visual Studioを更新することでした(バージョン15.5.6からバージョン15.9.1に更新しました)。 MicrosoftのVSダウンロードページ へのリンクです。
変化
<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>
Microsoft.AspNetCore.WebUtilities nugetパッケージを追加するだけです