でPCLを参照するASP.NETコアアプリケーションを構築することはできません:は、私はDockerfileを以下にASP.NETコアドッキングウィンドウの画像を構築しようとしていますドッカ
/app/MyPCL/MyPCL.csproj(70,3):エラーMSB4019:インポートされたプロジェクト「/usr/share/dotnet/sdk/1.0.1/Microsoft/Portable/v4.5/Microsoft」。 Portable.CSharp.targets "が見つかりませんでした。宣言内のパスが正しいこと、およびファイルがディスク上に存在することを確認します。
Microsoft.Portable.CSharp.targetsが見つからないため、PCLライブラリの構築に問題があります。
マイPCLプロジェクトファイルには、次のimport文を持っています。このパスは、ドッキングウィンドウコンテナ内に存在してはならないと私は考えてい
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
は、問題を引き起こしています。ところで、このプロジェクトはVisual Studio 2017で完璧に構築されて実行されます。
アイデア?
あなたがアプリケーションでPCLを混乱していますか? ASP.NETコアアプリケーションはdllにも含まれていますが、技術的には「PCL」ではありません。なぜなら、ASP.NETコア(.NETコア上)は 'netcoreapp1.1'をターゲットにしています。 .NET FrameworkまたはWindows Mobileであるため、単一のプラットフォーム上でのみ動作し、b) "アプリケーションdll"にはエントリポイント(メインメソッド)があり、PCLはそうではないため、間違ったターゲットを持つ可能性が最も高いです。 'netstandardx.y'をターゲットにしてはいけません。代わりに' netcoreappx.y'をターゲットにしてください。 'dotnet run'ではアプリケーション(ターゲット> =' net45'または 'netcoreappx.y')しか実行できません。 – Tseng
私のDockerfileと同じように、私の" application "はMyWebApp.dllです。これはASP.NET Coreアプリケーションです。 targets netcoreapp1.1。私は、Webアプリケーションが参照しているライブラリプロジェクト "MyPCL"を持っています。これは、PCL profile111を対象とする移植可能なクラスライブラリです。私の理解は、現時点ではdotnetはこの段階でnetcoreapp以外のものを構築できないということです。しかし、移植可能なクラスライブラリを構築できるはずです。 – tura08