2017-09-03 23 views
0

我升级到VS2017 15.3.3,但仍在使用code first方法处理ASP.NET MVC Core 1.1.1项目。以下来自官方ASP.NET团队this tutorial时(也就是更适合于ASP.NET核2.0),当我跑我正在兼容性错误(v2.0 vs v1.1)以下Package Manager命令(从教程):无法在asp.net核心1.1.1上加载文件或程序集“Microsoft.EntityFrameworkCore.SqlServer,Version = 1.1.2.0错误

Install-Package Microsoft.EntityFrameworkCore.SqlServer 

所以,我决定-version 1.1.1作为参数添加到上面的命令如下所示,运行成功:

Install-Package Microsoft.EntityFrameworkCore.SqlServer -version 1.1.1 

我做了其他两个相关PM命令一样在上面提到的教程,一切都运行得很好。但是现在,当我运行下面的命令PM我收到以下错误:

PM> add-migration MyFirstMigration -context BloggingContext 

错误

Could not load file or assembly 'Microsoft.EntityFrameworkCore.SqlServer, Version=1.1.2.0

的.csproj文件

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

    <PropertyGroup> 
    <TargetFramework>netcoreapp1.1</TargetFramework> 
    <PackageTargetFallback>$(PackageTargetFallback);portable-net45+win8+wp8+wpa81;</PackageTargetFallback> 
    <UserSecretsId>aspnet-MVC_IndvUserAccts_Test-B2520DA6-BE8D-42EE-806D-366F7C4C2E77</UserSecretsId> 
    </PropertyGroup> 


    <ItemGroup> 
    <PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.0.0" /> 
    <PackageReference Include="Microsoft.AspNetCore" Version="1.1.2" /> 
    <PackageReference Include="Microsoft.AspNetCore.Authentication.Cookies" Version="1.1.2" /> 
    <PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="1.1.2" /> 
    <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="1.1.2" /> 
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.3" /> 
    <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.2" /> 
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="1.1.2" PrivateAssets="All" /> 
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.1" /> 
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer.Design" Version="1.1.2" PrivateAssets="All" /> 
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="1.1.1" PrivateAssets="All" /> 
    <PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="1.1.2" /> 
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.2" /> 
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="1.1.1" PrivateAssets="All" /> 
    <PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="1.1.2" /> 
    </ItemGroup> 

    <ItemGroup> 
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.0.1" /> 
    <DotNetCliToolReference Include="Microsoft.Extensions.SecretManager.Tools" Version="1.0.1" /> 
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.1" /> 
    </ItemGroup> 

</Project> 
+0

你可以在你的csproj中发布所有的程序集引用吗? – mvermef

+0

@mvermef当然。根据您的要求,我只是添加了'.csproj'文件内容。 – nam

+0

运行'add-migration somemigrationname -Context BloggingContext'得到那个错误?您指出的添加迁移实际上会出错。 install-package Microsoft.EntityFrameworkCore.SqlServer -Version 1.1.2应该是正确的。 BloggingContext是唯一一个吗? – mvermef

回答

0
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.2" /> 
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer.Design" Version="1.1.2" /> 
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="1.1.1" PrivateAssets="All" /> 

DotNeCliReference

<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.0.1" /> 
<DotNetCliToolReference Include="Microsoft.Extensions.SecretManager.Tools" Version="1.0.1" /> 
<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.1" /> 
+0

我看到您显示的两个项目不仅显示版本号不同,而且其他属性名称也不同。那么究竟你建议我需要做什么? – nam

+0

我的建议是给我一个旋转,因为这些工作目前在我的解决方案。 – mvermef

+0

您的建议工作(谢谢)。我在下面将版本'1.1.1'更改为'1.1.2',它工作于'。为了其他读者的利益,您可能需要澄清一下您的“回复”,我会将其标记为答案。在你发表评论之前,我自己并不清楚你建议我做什么。 – nam

相关问题