Asp.net core 使用Docker构建MusicStore ASP.NET示例失败,错误为CS0246
我正在尝试将MusicStore asp.net应用程序作为windows容器环境的演示运行。我发现了构建和运行容器所需的详细步骤 但是,每次我尝试构建应用程序时,它都会以下面的输出退出。我可以知道背后的原因吗?我怎样才能解决这个问题Asp.net core 使用Docker构建MusicStore ASP.NET示例失败,错误为CS0246,asp.net-core,docker-for-windows,docker-build,Asp.net Core,Docker For Windows,Docker Build,我正在尝试将MusicStore asp.net应用程序作为windows容器环境的演示运行。我发现了构建和运行容器所需的详细步骤 但是,每次我尝试构建应用程序时,它都会以下面的输出退出。我可以知道背后的原因吗?我怎样才能解决这个问题 Restore completed in 8.64 min for C:\app\samples\MusicStore\musicstore.csproj. Models\MusicStoreContext.cs(6,36): error CS0246: The
Restore completed in 8.64 min for C:\app\samples\MusicStore\musicstore.csproj.
Models\MusicStoreContext.cs(6,36): error CS0246: The type or namespace name 'IdentityUser' could not be found (are you missing a using directive or an assembly reference?) [C:\app\samples\MusicStore\musicstore.csproj]
Models\MusicStoreContext.cs(8,18): error CS0311: The type 'MusicStore.Models.ApplicationUser' cannot be used as type parameter 'TUser' in the generic type or method 'IdentityDbContext<TUser>'. There is no implicit reference conversion from 'MusicStore.Models.ApplicationUser' to 'Microsoft.AspNetCore.Identity.IdentityUser'. [C:\app\samples\MusicStore\musicstore.csproj]
ForTesting\Mocks\MicrosoftAccount\TestMicrosoftAccountEvents.cs(51,62): error CS0246: The type or namespace name 'OAuthRedirectToAuthorizationContext' could not be found (are you missing a using directive or an assembly reference?) [C:\app\samples\MusicStore\musicstore.csproj]
ForTesting\Mocks\Twitter\TestTwitterEvents.cs(44,62): error CS0246: The type or namespace name 'TwitterRedirectToAuthorizationEndpointContext' could not be found (are you missing a using directive or an assembly reference?) [C:\app\samples\MusicStore\musicstore.csproj]
ForTesting\Mocks\Facebook\TestFacebookEvents.cs(50,62): error CS0246: The type or namespace name 'OAuthRedirectToAuthorizationContext' could not be found (are you missing a using directive or an assembly reference?) [C:\app\samples\MusicStore\musicstore.csproj]
ForTesting\Mocks\Google\TestGoogleEvents.cs(50,62): error CS0246: The type or namespace name 'OAuthRedirectToAuthorizationContext' could not be found (are you missing a using directive or an assembly reference?) [C:\app\samples\MusicStore\musicstore.csproj]
ERROR: Service 'web' failed to build: The command 'powershell -Command $ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue'; dotnet publish --output /out --configuration Release --framework netcoreapp2.0 --runtime win10-x64 .\samples\MusicStore' returned a non-zero code: 1
C:\app\samples\MusicStore\MusicStore.csproj的还原在8.64分钟内完成。
Models\MusicStoreContext.cs(6,36):错误CS0246:找不到类型或命名空间名称“IdentityUser”(是否缺少using指令或程序集引用?[C:\app\samples\MusicStore\MusicStore.csproj]
Models\MusicStoreContext.cs(8,18):错误CS0311:类型“MusicStore.Models.ApplicationUser”不能用作泛型类型或方法“IdentityDbContext”中的类型参数“TUser”。没有从“MusicStore.Models.ApplicationUser”到“Microsoft.AspNetCore.Identity.Identity.IdentityUser”的隐式引用转换。[C:\app\samples\MusicStore\MusicStore.csproj]
ForTesting\Mocks\MicrosoftAccount\TestMicrosoftAccountEvents.cs(51,62):错误CS0246:找不到类型或命名空间名称“OAuthRedirectToAuthorizationContext”(是否缺少using指令或程序集引用?[C:\app\samples\MusicStore\MusicStore.csproj]
ForTesting\Mocks\Twitter\TestTwitterEvents.cs(44,62):错误CS0246:找不到类型或命名空间名称“TwitterRedirectToAuthorizationEndpointContext”(您是否缺少using指令或程序集引用?[C:\app\samples\MusicStore\MusicStore.csproj]
ForTesting\Mocks\Facebook\TestFacebookEvents.cs(50,62):错误CS0246:找不到类型或命名空间名称“OAuthRedirectToAuthorizationContext”(您是否缺少using指令或程序集引用?[C:\app\samples\MusicStore\MusicStore.csproj]
ForTesting\Mocks\Google\TestGoogleEvents.cs(50,62):错误CS0246:找不到类型或命名空间名称“OAuthRedirectToAuthorizationContext”(您是否缺少using指令或程序集引用?[C:\app\samples\MusicStore\MusicStore.csproj]
错误:无法生成服务“web”:命令“powershell-command$ErrorActionPreference=”停止“$ProgressPreference='SilentlyContinue';dotnet发布--输出/输出--配置发布--framework netcoreapp2.0--运行时win10-x64。\samples\MusicStore'返回非零代码:1
这是.csproj文件的输出。基于此,应用程序使用ASP.NET内核
<Project Sdk="Microsoft.NET.Sdk.Web">
<Import Project="..\..\build\dependencies.props" />
<PropertyGroup>
<Description>Music store application on ASP.NET Core</Description>
<TargetFramework>netcoreapp2.0</TargetFramework>
<DefineConstants>$(DefineConstants);DEMO</DefineConstants>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<RuntimeIdentifiers>win7-x86;win7-x64;linux-x64;osx-x64</RuntimeIdentifiers>
</PropertyGroup>
<ItemGroup>
<Content Update="ForTesting\**\*" CopyToPublishDirectory="Never" Condition=" '$(PublishForTesting)' != 'true' "/>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore" Version="$(AspNetCoreVersion)" />
<PackageReference Include="Microsoft.AspNetCore.AspNetCoreModule" Version="$(AspNetCoreModuleVersion)" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.Cookies" Version="$(AspNetCoreVersion)" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.Facebook" Version="$(AspNetCoreVersion)" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.Google" Version="$(AspNetCoreVersion)" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.MicrosoftAccount" Version="$(AspNetCoreVersion)" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="$(AspNetCoreVersion)" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.Twitter" Version="$(AspNetCoreVersion)" />
<PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="$(AspNetCoreVersion)" />
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="$(AspNetCoreVersion)" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.TagHelpers" Version="$(AspNetCoreVersion)" />
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="$(AspNetCoreVersion)" />
<PackageReference Include="Microsoft.AspNetCore.Server.HttpSys" Version="$(AspNetCoreVersion)" />
<PackageReference Include="Microsoft.AspNetCore.Session" Version="$(AspNetCoreVersion)" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="$(AspNetCoreVersion)" />
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="$(AspNetCoreVersion)" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="$(AspNetCoreVersion)" />
<PackageReference Include="Microsoft.Extensions.Configuration.CommandLine" Version="$(AspNetCoreVersion)" />
</ItemGroup>
</Project>
基于ASP.NET内核的音乐商店应用
netcoreapp2.0
美元(定义常量);演示
真的
win7-x86;win7-x64;linux-x64;osx-x64
谢谢。您使用的是ASP.NET核心还是ASP.NET?您已经用这两个标记了您的问题,并且您引用的Github项目是ASP.NET,而不是ASP.NET Core。您是否在Visual Studio中打开了解决方案?如果您看到了,在项目MusicStore中的Dependencies>Nuget下,您是否看到带有黄色三角形的项?@ChrisPratt我已按照您的建议修改了标记。根据项目文件,我认为它使用.net内核。请调查修改后的问题。是的。这是核心。但是,我相信您可能已经从示例项目(ASP.NET-非核心)中复制了代码,并且该代码虽然相似,但在核心部分会有所不同,因为像EF/EF Core和ASP.NET Identity/ASP.NET Core Identity这样的东西是以不同的方式实现的。@KristianneNerona不,我没有。我不是一个活跃的开发人员已经有一段时间了。然而,这正是我下一步打算做的/