問題タブ [asp.net-core-mvc-2.0]
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-mvc - AspNetCore 2.0 MVC / 'model' は開始行に表示する必要があります
_Create.cshtml (スニペット)
Microsoft.AspNetCore.Mvc.Razor.Compilation.CompilationFailedException: 1 つ以上のコンパイル エラーが発生しました: C:\Projects\Webs\MC\Areas\Admin\Views\Shared_ModalFooter.cshtml(1,3): エラー RZ9999: 'モデル'ディレクティブは、行の先頭に表示する必要があります。Microsoft.AspNetCore.Mvc.Razor.Internal.RazorViewCompiler.CompileAndEmit (文字列の相対パス) で Microsoft.AspNetCore.Mvc.Razor.Internal.RazorViewCompiler.CreateCacheEntry (文字列の正規化されたパス) で
_ModalFooter.cshtml (_ModalHeader の内容とほぼ同じ例)
これは私をループに陥れました。Asp.net Core 2.0 は 1.1.2 で問題なく動作しますが、これはパーシャル内のパーシャルごとにスローされ、モーダル使用のためにセットアップされます。エラー RZ9999 は明らかにどこにも文書化されていません。もちろん、ストレート html のパーシャルを取り出してもエラーは発生しませんが、1 行と 3 ~ 4 行のコードであることが想像できます。Asp.net Core MVC 1.1 から 2.0 への変換のどこかで何かが欠けていると思います。 また、これはパーシャル内のパーシャルです。
注: リリース日 NuGet には v2 用の EF ツール パッケージがなかったので、*.csproj で 'Microsoft.AspNetCore.All' パッケージ プルを使用しています。
asp.net-core-mvc-2.0 - VS 2017 および NET CLI でプロジェクトを作成する ASP .NET Core 2 MVC エラー NU1202
VS2017 15.3.0 と .NET Core 2.0 をインストールし、VS 2017 で既定の Web MVC アプリケーションを作成しましたが、次のエラーが発生しました。
エラー NU1202
パッケージ System.Threading.Overlapped 4.0.1 は netcoreapp2.0 (.NETCoreApp,Version=v2.0) と互換性がありません。パッケージ System.Threading.Overlapped 4.0.1 のサポート: netstandard1.3 (.NETStandard,Version=v1.3)
エラー NU1202
パッケージ System.IO.Compression 4.1.0 は netcoreapp2.0 (.NETCoreApp,Version=v2.0) と互換性がありません。パッケージ System.IO.Compression 4.1.0
サポート:
monoandroid10 (モノアンドロイド、バージョン=v1.0)
monotouch10 (モノタッチ、バージョン=v1.0)
net45 (.NETFramework、バージョン = v4.5)
netcore50 (.NETCore、バージョン=v5.0)
netstandard1.1 (.NETStandard、バージョン=v1.1)
netstandard1.3 (.NETStandard、バージョン=v1.3)
Portable-net45+win8+wpa81 (.NETPortable,Version=v0.0,Profile=Profile111)
win8 (Windows、バージョン=v8.0)
wpa81 (WindowsPhoneApp、バージョン = v8.1)
xamarinios10 (Xamarin.iOS、バージョン = v1.0)
xamarinmac20 (Xamarin.Mac、バージョン = v2.0)
xamarintvos10 (Xamarin.TVOS、バージョン = v1.0)
xamarinwatchos10 (Xamarin.WatchOS、バージョン = v1.0)
コマンド dotnet new mvc で NET CLI を使用すると、同じエラーが発生します。
ナゲットの更新を試みました:Install-Package NuGet.CommandLine -Version 4.3.0
しかし、うまくいきません。
そのため、Visual Studio 2017 と更新プログラム 15.3.0 および NuGet 4.3.0 を使用して dotnet core2 をインストールしました。
ここで何が欠けていますか?
nuget - クロス プラットフォームのホーム パスですか、それとも条件付きのプラットフォーム固有のパスですか?
ここで解決しようとしている問題は、ビジュアル スタジオがクロス プラットフォームになった今、いくつかのビルド戦略を再考する必要があるということです。現時点では、ビルド後に nuget ライブラリ プロジェクトでパッケージをローカル フィードに公開しています。これにより、リモート nuget サーバーに公開することなく、これらのパッケージを使用する他のプロジェクトで開発することができます。現在、各プロジェクトの csproj に次のターゲットを追加することで、これを容易にしています。
これにより、各パッケージが c:\nuget にプッシュされます。これは Windows では問題なく動作しますが、たとえば、個人が Ubuntu の VSCode で作業している場合は問題でC:\
はありません。
だから私の質問はこれです:たとえば、「家」をターゲットにするクロスプラットフォームの方法はありますか? 条件を使用して別のコマンドを発行できるように、ターゲットの Exec 行の条件として使用することを検討し$(Platform)
ましたが、期待できる値のリストが見つからないようです$(Platform)
。他のアイデアは大歓迎です。