問題タブ [dotnet-cli]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-core - dotnet CLI を使用して ASP.NET Core WebAPI をビルドして実行する
WindowsとOS Xの両方を使用して、dotnet CLI を使用してクリーンな ASP.NET Core WebAPI をコンパイルして実行しようとしています。
私が試したこと..
- (ジェネレーターaspnetを使用したYeoman、またはVisual Studio-両方を試しました)を使用して新しいASP.NET 5 WebAPIを作成しました
dotnet restore、dotnet build (ビルドは失敗します...)
プロジェクト WebApiCoreT (DNXCore,Version=v5.0) は、その入力の一部が最も古い出力よりも新しいため、コンパイルされます。DNXCore,Version=v5.0 C:\Data\Code\WebApiCore\WebApiCoreT\project.json(9,29) の WebApiCoreT のコンパイル: エラー NU1002: 依存関係 Microsoft.CodeAnalysis.Common 1.1.0-rc1-20151109-01 はフレームワーク DNXCore,Version=v5.0 をサポートしていません。C:\Data\Code\WebApiCore\WebApiCoreT\project.json(9,29): エラー NU1002: 依存関係 Microsoft.CodeAnalysis.CSharp 1.1.0-rc1-20151109-01 はフレームワーク DNXCore,Version=v5.0 をサポートしていません.
コンパイルに失敗しました。0 警告 2 エラー
経過時間 00:00:01.2486558
dnu 復元、dotnet ビルド、dotnet 実行 (ビルドは成功、実行時に失敗...)
プロジェクト WebApiCoreT (DNXCore,Version=v5.0) は、その入力の一部が最も古い出力よりも新しいため、コンパイルされます。DNXCore 用の WebApiCoreT のコンパイル、バージョン = v5.0
コンパイルが成功しました。0 警告 0 エラー
経過時間 00:00:01.2756028
coreclr パスを解決できませんでした
私が理解している限り、dnu、dnx、dnvm ツールチェーンは非推奨であり、最終的にはなくなりますが、dotnet CLI を使用して WebAPI を作成するにはどうすればよいですか?
とにかく、デフォルトの「Hello world!」を除いて、dotnet CLI を使用して何かをビルドする方法はありますか? コンソールアプリケーション?
asp.net-mvc - ASP.NET Core プロジェクトの最新バージョンへの Nuget 参照の更新を自動化するにはどうすればよいですか?
同じプロジェクトの一部である Nuget パッケージへの 2 種類の依存関係を持つ ASP.NET Core アプリケーションのビルドを自動化しようとしています。
- Nuget パッケージへの直接的な依存関係も、取り組みの一環として積極的に開発されています
- 同じソリューション内の "クラシック" .NET アセンブリ プロジェクトへの参照。これらのプロジェクトは、開発中の Nuget パッケージに依存しています。
Nuget パッケージの最新バージョンを取得し、「正しいことを行う」ために、このソリューションのビルドが必要です。
上記の #1 から始めましょう。
dnu install (非推奨) を使用すると、Nuget パッケージの最新バージョンに効果的に更新できます。ただし、これは xproj と同じディレクトリで dnu install を実行している場合のみです。なんで?package id、version、project locationの 3 つの位置引数 (ただし AFAICT には名前がありません) があるため、プロジェクトの場所を指定する場合はバージョンを入力する必要がありますが、最新のものが必要な場合は何を入力すればよいでしょうか? * を試しましたが、うまくいきませんでした。
理想的には、とにかくCoreclr dotnet クライアントを使用したいのですが、それには (設計上) インストール オプションがありません。
ケース #2 私の「クラシック」アセンブリ プロジェクトには、プロジェクトの最新のナゲットをプルして適切にビルドするnuget updateを使用するビルド前のステップがあります (これは私のケース #1 に類似しています)。
ただし、ASP.NET プロジェクトは再構築されていますが、ASP.NET Core アプリケーション内のこれらのプロジェクトへの参照が更新されているようには見えません。ソリューション エクスプローラーでは、依存するナゲットのバージョンは、参照として手動で追加したときのバージョンのままです。Visual Studio で作業している場合でも、私が見つけた唯一の修正方法は、参照を削除してから再度追加することです (「ラップ」メカニズムが自動的に作動しないかのように)。
このすべてから、このビルドを完全に自動化することは実際には不可能だと思います-私が間違っていることを願っています:)
以下の詳細を含むように改訂
以下は、すべてが正しくビルドされた時点での Visual Studio でのプロジェクト構造です。
ここにglobal.jsonがあります:
API プロジェクトの完全な project.json は次のとおりです。
ここで、上記のソリューションで参照されている Nuget パッケージを作成するプロジェクト (表示されていません) を再構築します。
次に、上記のアカウント ソリューションを再構築して、更新された Nugets を取得できるようにしたいと考えています。
- Lnl.Saas.Diagnostics の最新バージョンを API プロジェクトに直接追加
- 他の 2 つの Nuget を Service プロジェクトに追加し (ビルド後の nuget インストールによって機能します)、API プロジェクトの Service への参照を更新して、新しい Nuget を参照するようにします。
Diagnostics Nuget の参照は変更されていないことに注意してください (サービスの参照も変更されていませんが、最初のスクリーン ショットで展開するのを忘れていました)。
Nuget パッケージ マネージャー UI を見ると、更新があることがわかり、UI を使用すると更新が適用されます。
パッケージ マネージャー コンソールでdnu restoreを実行すると、新しいパッケージが一覧表示されますが、project.lock.json で明示的に指定されている以前のパッケージが (再?) インストールされます。
ドキュメントをつなぎ合わせようとした結果、ここでdnu restoreが「正しい」ことを行っているという印象を受け、dnu installを使用する必要がありました。これは、 project.json ファイルと同じディレクトリで実行すると機能します (ただし、自動化スクリプトが存在する別のディレクトリから実行しようとすると、バージョン (2 番目) 引数に何を入力すればよいかわかりません。これは、プロジェクトの場所 (3 番目) 引数を指定しているため必要になりました) .
http://docs.asp.net/en/latest/dnxのドキュメントはひどく不足しており、いくつかのリンクをたどると、より良いドキュメントがあるdotnet.github.ioプロジェクトにたどり着きました (ただし、 rc2 に適用されます)。
最後に、おそらくこれはいくつかの追加の手がかりを提供しますが、ビルド時に次のような警告 (実行時に問題が発生するようには見えません) が表示されることです。
警告 MSB3274 プライマリ リファレンス "C:...\Account\Service\bin\Debug\Account.Service.dll" は、".NETFramework,Version=v4.5.2" フレームワークに対してビルドされているため、解決できませんでした。現在対象のフレームワーク「.NETFramework,Version=v4.5.1」より上位のバージョンです。
APIプロジェクトで4.5.1フレームワークをどこでどのようにターゲットにしているのかわからないため、解決方法がわかりません。
c# - .NET Core アプリを発行できません (サポートされていないランタイム)
.net コアを使用して API を構築していますが、公開中に次の問題に遭遇しました。
このgithubの問題とこれを見ましたが、解決策には近づいていません。これが私の更新された project.json
ファイルです:
依存関係の構成が原因である可能性があることをどこかで読みましたか?
アップデート
これは、使用時に発生するエラーですdotnet restore
。
visual-studio-2015 - ASP.NET Core RC2 はまだ DNX にまったく依存していますか
提供された指示に従って、ASP.NET Core RC2へのアップグレードを開始しました。ただし、私は混乱しています-DNXまたは他のCLI( DNVM および DNU )のアンインストールについては言及されていないようです。それはアンインストールする必要がありますか、それともRC2は何らかの形でそれに依存していますか?
指示に従って再起動した後、アップグレードの一環として削除したにもかかわらずdnx.exe
、タスク マネージャーとフォルダーにまだ . .dnx
文字通り、.dnx
ディレクトリ全体、ランタイム、およびすべてを削除できます。Visual Studioを開いた後、 dotnet
CLIの起動後に元に戻ります。
.net - 分散キャッシュ (SQL Server) を使用すると、完全な .NET Framework で ASP.NET Core RC2 がクラッシュする
ASP.NET 5 RC1 と DNX から更新されたばかりの .NET Framework を対象とする、ASP.NET Core RC2 と dotnet CLI を使用する Web プロジェクトがあります。分散 SQL Server キャッシュを使用するとすぐに、次の例外でクラッシュします。
FileNotFoundException: ファイルまたはアセンブリ 'System.Collections.NonGeneric、Version=4.0.0.0、Culture=neutral、PublicKeyToken=b03f5f7f11d50a3a' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。
System.Data.SqlClient.SqlConnectionString..ctor(String 接続文字列)
スタックトレースで:
System.Data.SqlClient.SqlConnectionString..ctor(String connectionString) System.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(String connectionString, DbConnectionOptions 以前) System.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(DbConnectionPoolKey キー, DbConnectionPoolGroupOptions プールオプション, DbConnectionOptions& userConnectionOptions) システム.Data.SqlClient.SqlConnection.ConnectionString_Set(DbConnectionPoolKey キー) System.Data.SqlClient.SqlConnection.set_ConnectionString(文字列値) System.Data.SqlClient.SqlConnection..ctor(文字列接続文字列) Microsoft.Extensions.Caching.SqlServer.DatabaseOperations.GetCacheItem (文字列キー、ブール値の includeValue) Microsoft.Extensions.Caching.SqlServer.DatabaseOperations.GetCacheItem(文字列キー) Microsoft.Extensions.Caching.SqlServer.SqlServerCache.Get(文字列キー) Microsoft.AspNetCore.Session.DistributedSession.Load() Microsoft.AspNetCore.Session.DistributedSession.Remove(文字列キー) MYCODE.SessionHelper.SetValue(文字列キー、文字列値) MYCODE.cs など
行は文字通りただSession.Remove(key);
です。
.NET Framework を使用できることに気付くのではなく、何らかの理由で .NET Core パッケージを読み込もうとしているのではないかと疑っています。以下は私のproject.jsonです。
Microsoft.NETCore.Platforms
( 1.0.1-rc2-24027
) および/またはNETStandard.Library
( 1.5.0-rc2-24027
) のエントリを追加しdependencies
ても効果がありませんでした。これを行う方法を説明するドキュメントが存在しないか不足しているため、.NET Framework をターゲットにする際に何か間違ったことをしている可能性があります。唯一の質問は何ですか?インポートまたは参照アセンブリなどが不足していますか?
.net-core - 現在のプレビューを使用して .NET Core でネイティブ バイナリをビルドするにはどうすればよいですか?
現在の .NET Core プレビューを使用して、コンソール アプリケーションのネイティブ バイナリをコンパイル (発行) するにはどうすればよいですか。Mac OS 10.11 を使用しています。
私は次のことをしました:
「公開」してネイティブバイナリをビルドすることを期待していましたが、そうではありませんでした。.dll と JSON を公開フォルダーに配置します。を使用すると、アプリケーションが正常に動作することに言及する必要がありますdotnet run
。
では、単純なコンソール アプリケーションのネイティブ バイナリを取得するにはどうすればよいでしょうか。
asp.net - .NET Standard ではなく .NET Framework のライブラリを参照する
現在、クラス ライブラリ プロジェクトを DNX (RC1) から dotnet cli (RC2) に移行中です。以前、プロジェクトは .NET v4.5.1 フレームワーク ライブラリを参照していました。project.json
ファイルは次のようになります。
私の知る限り (間違っている可能性もあります)、DNX とは異なり、新しい dotnet Cli は .NET 4.5.1 をサポートしておらず、代わりに .NET Standard をサポートしています。
問題は、.NET Standard に必要なすべてのライブラリがないことです。.NET 4.5.1 フレームワーク ライブラリを参照できるようにするには、何を変更する必要がありますか? imports ステートメントについて読みましたが、機能しません。これが私がこれまでに持っているものです(更新):
他に何をする必要があるのか 少し迷っています...何かアイデアはありますか?