2016-11-28 6 views
1

私はVS2017 RCで新しいプロジェクトを作成します。コンソールライブラリとクラスライブラリを追加します。VS2017 RC - コアプロジェクト - ClassLibraryとコンソール - フレームワークが異なる

ここで、フレームワークが依存関係として追加されていることがわかります。

しかし、なぜコアコンソールにNetStandard.Libraryがないのですか?

代わりに、私は私がdotnet -run

でコンソールアプリケーションを起動しようとすると、私はこのエラーに

[を得る結果Microsoft.NetCore.app

enter image description here

を見ることができます![ここに画像の説明を入力します。 ] [2]] [2]

+0

画像をポストするのではなく、プロンプトからテキストを直接コピーできませんか? –

+0

2番目の画像がアップロードされませんでした – VMAtm

答えて

1

1.1.0のSDK /ビルドツールはインストールされていますが、共有フレームワーク1.1.0はインストールされていないため、ダウンロードできます。
SDKと共有フレームワークは同じものではありません。

おそらく、Linuxのコマンドラインで説明するのが最適です。あなたはそれを持っていた場合は 、何を、現在インストールされていること

apt-get install dotnet-dev-1.0.1 

ですが、何が欠けているのは

apt-get install dotnet-sharedframework-microsoft.netcore.app-1.1.0 

ある深い理由は、あなたが apt-getをインストールDOTNET-DEV-を持っているということです1.0.1

代わりの

apt-get install dotnet-dev-1.1.0 

SDKバージョン1.1では共有フレームワーク1.1.0がインストールされますが、SDKが1.0.1の場合は1.1.0がインストールされていません。

netstandardとnetcoreについては、David Fowlerの説明はhereです。
基本的に、「.NET Frameworkのコア」のすべてのバージョンと「.NETフレームワークの非コア」)netstandardライブラリは、コアと非コアの両方に使用することができるnetstandardのバージョンを拡張:

具体的あなたのアプリは.NET Coreまたは.NET Frameworkとしてしか実行できません。 netstandard-app(現在)はありません。netstandard-libraryのみです。

NetFramework_vXとNetCoreFramework_vXの両方がNetStandardLibray_vXのスーパーセットです。

using System; 

namespace Analogy 
{ 
    // Each interface represents a target framework and methods represents groups of APIs available on that target framework. 
    // The goal is to show the relationship between .NET Standard API surface and other .NET platforms 


    // .NET Standard 

    interface INetStandard10 
    { 
     void Primitives(); 
     void Reflection(); 
     void Tasks(); 
     void Collections(); 
     void Linq(); 
    } 

    interface INetStandard11 : INetStandard10 
    { 
     void ConcurrentCollections(); 
     void InteropServices(); 
    } 

    interface INetStandard12 : INetStandard11 
    { 
     void ThreadingTimer(); 
    } 

    interface INetStandard13 : INetStandard12 
    { 
     void FileSystem(); 
     void Console(); 
     void ThreadPool(); 
     void Process(); 
     void Sockets(); 

     void AsyncLocal(); 
    } 

    interface INetStandard14 : INetStandard13 
    { 
     void IsolatedStorage(); 
    } 

    interface INetStandard15 : INetStandard14 
    { 
     void AssemblyLoadContext(); 
    } 

    // .NET Framework 

    interface INetFramework45 : INetStandard11 
    { 
     void FileSystem(); 
     void Console(); 
     void ThreadPool(); 
     void Crypto(); 
     void WebSockets(); 
     void Process(); 
     void Sockets(); 

     void AppDomain(); 
     void Xml(); 
     void Drawing(); 
     void SystemWeb(); 
     void WPF(); 
     void WindowsForms(); 
     void WCF(); 
    } 

    interface INetFramework451 : INetFramework45, INetStandard12 
    { 
     // TODO: .NET Framework 4.5.1 specific APIs 
    } 

    interface INetFramework452 : INetFramework451, INetStandard12 
    { 
     // TODO: .NET Framework 4.5.2 specific APIs 
    } 

    interface INetFramework46 : INetFramework452, INetStandard13 
    { 
     // TODO: .NET Framework 4.6 specific APIs 
    } 

    interface INetFramework461 : INetFramework46, INetStandard14 
    { 
     // TODO: .NET Framework 4.6.1 specific APIs 
    } 

    interface INetFramework462 : INetFramework461, INetStandard15 
    { 
     // TODO: .NET Framework 4.6 specific APIs 
    } 

    // Mono 

    interface IMono43 : INetFramework46 
    { 
     void MonoSpecificApi(); 
    } 

    // Windows Universal Platform 

    interface IWindowsUniversalPlatform : INetStandard14 
    { 
     void GPS(); 
     void Xaml(); 
    } 

    // Xamarin 

    interface IXamarinIOS : INetStandard15 
    { 
     void AppleAPIs(); 
    } 

    interface IXamarinAndroid : INetStandard15 
    { 
     void GoogleAPIs(); 
    } 

    // .NET Core 

    interface INetCoreApp10 : INetStandard15 
    { 

    } 

    // Future platform 

    interface ISomeFuturePlatform : INetStandard13 
    { 
     // A future platform chooses to implement a specific .NET Standard version. 
     // All libraries that target that version are instantly compatible with this new 
     // platform 
    } 
} 
1

netcoreappとnetstandard pleaの違いseチェック:What's the difference between the new netstandardapp and netcoreapp TFMs?

dotnet -runをコマンドラインで実行する場合は、.NET Core SDKをインストールする必要があります。これは、.NETコアを別途インストールすることです。 VS2017 RCのインストールでは、このSDKはインストールされません。 .NET Core 1.1 SDKをダウンロードすることができますhere

関連する問題