0

.NETコアライブラリ(DNXCore50)をVS 2015からVS 2017に移行するときにこのエラーが発生します。.NETコア - フレームワーク "DNXCore、Version = v5.0"のリファレンスアセンブリが見つかりませんでした

フレームワーク「DNXCore、バージョン= v5.0」の参照アセンブリが見つかりませんでした。私のプロジェクトファイルは、現在このようになります

:(VS 2017移行ウィザードは、.csprojファイルに私の「project.json」を移行した後)

<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からの1つのエラー。

DNXCore 5.0の代わりに何を使用すればよいですか? TlsStreamUriのような最新のAPIが必要ですか、それともコンパイラを強制的にコンパイルする方法がありますか?コンパイルにVS 2015を使用したときに、これが作業ライブラリだったことに注意してください。 VS 2017に切り替えたので、私はもうプロジェクトをコンパイルできません! .NET Coreまたは.NET Portableのいずれかにあります。

+0

通常、ソケット関連のライブラリは1.3しか必要ありません。なぜあなたの1.6が必要なのか分かりません。 –

答えて

0

これは驚くべきことです。

私のlibはで正常にコンパイルされました。.NETスタンダード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> 
1

dnxcore50はもはやTargetFrameworkとして使用されています。あなたはそれが非難されたモニカとしてそれをリストする1.1.0 documentation for netstandardを見ることができます。

最新の.NET標準のドキュメントについては、.NET Standard FAQを参照してください。

2つ目のTFMをすべて完全に削除できます。 netstandard1.6は.NET Coreでうまく動作します。

<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> 

Iはまた、これらの特性をTargetFrameworkから推論されるのでTargetFrameworkIdentifierTargetFrameworkVersion設定除去。

関連する問題