.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恢复)效果很好!
答
我记得,所有预发行版都使用.net核心。不幸的是,当我尝试所有版本高达6.9.9它不起作用。我已经使用了一段时间的预发布,并没有发现任何问题。然而,当我使用核心1.1时,我使用了预发布版本7.x.这个版本最近被删除了。但我很确定8.0.8-dmr会起作用。
请注意,MySQL.Data是LGPL ..分发与您的应用程序的DLL有潜在的授权陷阱... –
我认为LGPL是开源的,所以我没有注意任何授权的东西... –
基本上是什么这意味着如果您将LGPL组件分发给您的应用程序,则您的应用程序有可能成为开源软件。所以你应该做的是你应该把Mysql.Data.DLL作为应用程序必备条件的一部分,并且在文档中你应该提供链接供客户下载并适当地安装它。 –