.NET与MySql.Data的兼容性

问题描述:

我已经在VS代码中设置了一个asp.net webapi项目(cmd:dotnet new webapi)。我已经安装了Nuget,并在我的项目中加载了MySql.Data,Version =“6.9.9”。恢复项目(CMD:DOTNET还原)后,我得到以下错误:.NET与MySql.Data的兼容性

error NU1202: Package MySql.Data 6.9.9 is not compatible with netcoreapp1.1 (.NETCoreApp, Version=v1.1) 

这里是我的.csproj-文件:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<Project Sdk="Microsoft.NET.Sdk.Web"> 
    <PropertyGroup> 
    <TargetFramework>netcoreapp1.1</TargetFramework> 
    <PackageTargetFallback>$(PackageTargetFallback);portable-net45+win8+wp8+wpa81;</PackageTargetFallback> 
    <TypeScriptCompileBlocked>true</TypeScriptCompileBlocked> 
    </PropertyGroup> 
    <ItemGroup> 
    <Folder Include="wwwroot\"/> 
    </ItemGroup> 
    <ItemGroup> 
    <PackageReference Include="Microsoft.AspNetCore" Version="1.1.2"/> 
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.3"/> 
    <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.1"/> 
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.2"/> 
    <PackageReference Include="MySql.Data" Version="6.9.9"/> 
    </ItemGroup> 
    <ItemGroup> 
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.1"/> 
    <DotNetCliToolReference Include="Microsoft.DotNet.Watcher.Tools" Version="1.0.0"/> 
    </ItemGroup> 
</Project> 

任何人知道哪些版本兼容在一起吗? 在此先感谢...

通过以下介绍: How to change target framework with VS 2017 RC?我解决了这个问题。

我的csproj-文件现在看起来是这样的:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<Project Sdk="Microsoft.NET.Sdk.Web"> 
    <PropertyGroup> 
    <TargetFramework>net462</TargetFramework> 
    <RuntimeIdentifier>win7-x86</RuntimeIdentifier> 
    <PackageTargetFallback>$(PackageTargetFallback);portable-net45+win8+wp8+wpa81;</PackageTargetFallback> 
    <TypeScriptCompileBlocked>true</TypeScriptCompileBlocked> 
    </PropertyGroup> 
    <ItemGroup> 
    <Folder Include="wwwroot\"/> 
    </ItemGroup> 
    <ItemGroup> 
    <PackageReference Include="Microsoft.AspNetCore" Version="1.1.2"/> 
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.3"/> 
    <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.1"/> 
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.2"/> 
    <PackageReference Include="MySql.Data" Version="6.9.9"/> 
    </ItemGroup> 
    <ItemGroup> 
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.1"/> 
    <DotNetCliToolReference Include="Microsoft.DotNet.Watcher.Tools" Version="1.0.0"/> 
    </ItemGroup> 
</Project> 

恢复项目(CMD:DOTNET恢复)效果很好!

+0

请注意,MySQL.Data是LGPL ..分发与您的应用程序的DLL有潜在的授权陷阱... –

+0

我认为LGPL是开源的,所以我没有注意任何授权的东西... –

+1

基本上是什么这意味着如果您将LGPL组件分发给您的应用程序,则您的应用程序有可能成为开源软件。所以你应该做的是你应该把Mysql.Data.DLL作为应用程序必备条件的一部分,并且在文档中你应该提供链接供客户下载并适当地安装它。 –

我记得,所有预发行版都使用.net核心。不幸的是,当我尝试所有版本高达6.9.9它不起作用。我已经使用了一段时间的预发布,并没有发现任何问题。然而,当我使用核心1.1时,我使用了预发布版本7.x.这个版本最近被删除了。但我很确定8.0.8-dmr会起作用。