Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .NET Core-找不到框架“DNXCore,Version=v5.0”的引用程序集_C#_Visual Studio 2015_.net Core_Visual Studio 2017_.net Standard - Fatal编程技术网

C# .NET Core-找不到框架“DNXCore,Version=v5.0”的引用程序集

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

我在将.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 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是必需的。