2017-10-05 227 views
1

我已經在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> 

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

回答

1

通過以下介紹: 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作爲應用程序必備條件的一部分,並且在文檔中你應該提供鏈接供客戶下載並適當地安裝它。 –

0

我記得,所有預發行版都使用.net核心。不幸的是,當我嘗試所有版本高達6.9.9它不起作用。我已經使用了一段時間的預發佈,並沒有發現任何問題。然而,當我使用核心1.1時,我使用了預發佈版本7.x.這個版本最近被刪除了。但我很確定8.0.8-dmr會起作用。