C# .NET Core-找不到框架“DNXCore,Version=v5.0”的引用程序集
我在将.NET核心库DNXCore50从VS 2015迁移到VS 2017时遇到此错误 找不到framework DNXCore的引用程序集,版本=v5.0 我的项目文件当前看起来是这样的:在VS2017迁移向导将我的project.json迁移到.csproj文件之后C# .NET Core-找不到框架“DNXCore,Version=v5.0”的引用程序集,c#,visual-studio-2015,.net-core,visual-studio-2017,.net-standard,C#,Visual Studio 2015,.net Core,Visual Studio 2017,.net Standard,我在将.NET核心库DNXCore50从VS 2015迁移到VS 2017时遇到此错误 找不到framework DNXCore的引用程序集,版本=v5.0 我的项目文件当前看起来是这样的:在VS2017迁移向导将我的project.json迁移到.csproj文件之后 <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <Description>An FTP and FTPS library fo
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<Description>An FTP and FTPS library for .NET, optimized for speed. Provides extensive FTP commands, file uploads/downloads, SSL/TLS connections and FTP proxies.</Description>
<VersionPrefix>16.3.0</VersionPrefix>
<Authors>J.P. Trosclair;Harsh Gupta</Authors>
<TargetFrameworks>netstandard1.6;dnxcore50</TargetFrameworks>
<DefineConstants>$(DefineConstants);CORE</DefineConstants>
<RootNamespace>FluentFTP</RootNamespace>
<AssemblyName>FluentFTP</AssemblyName>
<OutputType>Library</OutputType>
<PackageId>FluentFTP</PackageId>
<NetStandardImplicitPackageVersion>1.6.0</NetStandardImplicitPackageVersion>
<TargetFrameworkIdentifier>DNXCore</TargetFrameworkIdentifier>
<TargetFrameworkVersion>v5.0</TargetFrameworkVersion>
<GenerateAssemblyTitleAttribute>false</GenerateAssemblyTitleAttribute>
<GenerateAssemblyDescriptionAttribute>false</GenerateAssemblyDescriptionAttribute>
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
<GenerateAssemblyCopyrightAttribute>false</GenerateAssemblyCopyrightAttribute>
<GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
<GenerateNeutralResourcesLanguageAttribute>false</GenerateNeutralResourcesLanguageAttribute>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="System.IO" Version="4.3.0.0" />
<PackageReference Include="System.Net.NameResolution" Version="4.3.0.0" />
<PackageReference Include="System.Net.Sockets" Version="4.3.0.0" />
<PackageReference Include="System.Net.Security" Version="4.3.0.0" />
</ItemGroup>
</Project>
当我编译时,我得到了上面提到的错误。我尝试过的事情:
改为使用.NETPortable v5.0。这里缺课太多了。
改为使用.NETCoreApp v1.0。每节课都缺了。我用错版本了吗?
使用DNXCore。没有缺课。只是VS的一个错误。
我应该使用什么来代替DNXCore 5.0?我需要最新的API,比如TlsStream和Uri,这些东西不存在,或者有没有办法强制编译器编译?请注意,当我使用VS 2015进行编译时,这是一个工作库。现在我已经切换到VS2017,我不能再编译我的项目了!无论是.NET内核还是.NET便携版。好吧,这太令人惊讶了 我的库成功地用.NETStandard v1.6编译 在此处包含我的XML,以防其他人遇到此问题:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<Description>An FTP and FTPS library for .NET, optimized for speed. Provides extensive FTP commands, file uploads/downloads, SSL/TLS connections and FTP proxies.</Description>
<VersionPrefix>16.3.0</VersionPrefix>
<Authors>J.P. Trosclair;Harsh Gupta</Authors>
<TargetFrameworks>netstandard1.6;dnxcore50</TargetFrameworks>
<DefineConstants>$(DefineConstants);CORE</DefineConstants>
<RootNamespace>FluentFTP</RootNamespace>
<AssemblyName>FluentFTP</AssemblyName>
<OutputType>Library</OutputType>
<PackageId>FluentFTP</PackageId>
<NetStandardImplicitPackageVersion>1.6.0</NetStandardImplicitPackageVersion>
<TargetFrameworkIdentifier>.NETStandard</TargetFrameworkIdentifier>
<TargetFrameworkVersion>v1.6</TargetFrameworkVersion>
<GenerateAssemblyTitleAttribute>false</GenerateAssemblyTitleAttribute>
<GenerateAssemblyDescriptionAttribute>false</GenerateAssemblyDescriptionAttribute>
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
<GenerateAssemblyCopyrightAttribute>false</GenerateAssemblyCopyrightAttribute>
<GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
<GenerateNeutralResourcesLanguageAttribute>false</GenerateNeutralResourcesLanguageAttribute>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="System.IO" Version="4.3.0.0" />
<PackageReference Include="System.Net.NameResolution" Version="4.3.0.0" />
<PackageReference Include="System.Net.Sockets" Version="4.3.0.0" />
<PackageReference Include="System.Net.Security" Version="4.3.0.0" />
</ItemGroup>
</Project>
dnxcore50不再用作TargetFramework。您可以看到将其列为不推荐使用的名字对象的
有关最新的.NET标准文档,请参阅
您只需将第二个TFM全部放在一起即可。netstandard1.6将在.NETCore上正常工作
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<Description>An FTP and FTPS library for .NET, optimized for speed. Provides extensive FTP commands, file uploads/downloads, SSL/TLS connections and FTP proxies.</Description>
<VersionPrefix>16.3.0</VersionPrefix>
<Authors>J.P. Trosclair;Harsh Gupta</Authors>
<TargetFramework>netstandard1.6</TargetFramework>
<DefineConstants>$(DefineConstants);CORE</DefineConstants>
<RootNamespace>FluentFTP</RootNamespace>
<AssemblyName>FluentFTP</AssemblyName>
<OutputType>Library</OutputType>
<PackageId>FluentFTP</PackageId>
<NetStandardImplicitPackageVersion>1.6.0</NetStandardImplicitPackageVersion>
<GenerateAssemblyTitleAttribute>false</GenerateAssemblyTitleAttribute>
<GenerateAssemblyDescriptionAttribute>false</GenerateAssemblyDescriptionAttribute>
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
<GenerateAssemblyCopyrightAttribute>false</GenerateAssemblyCopyrightAttribute>
<GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
<GenerateNeutralResourcesLanguageAttribute>false</GenerateNeutralResourcesLanguageAttribute>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="System.IO" Version="4.3.0.0" />
<PackageReference Include="System.Net.NameResolution" Version="4.3.0.0" />
<PackageReference Include="System.Net.Sockets" Version="4.3.0.0" />
<PackageReference Include="System.Net.Security" Version="4.3.0.0" />
</ItemGroup>
</Project>
我还删除了设置TargetFrameworkIdentifier和TargetFrameworkVersion,因为这些属性是从TargetFramework推断出来的。通常与套接字相关的库只需要1.3。我不知道为什么你的1.6是必需的。