マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

.NET Core の dotnetコマンドを使い倒す。

詳細

情報

基本情報

$ dotnet --info
.NET Command Line Tools (2.0.0)

Product Information:
 Version:            2.0.0
 Commit SHA-1 hash:  cdcd1928c9

Runtime Environment:
 OS Name:     ubuntu
 OS Version:  16.04
 OS Platform: Linux
 RID:         ubuntu.16.04-x64
 Base Path:   /usr/share/dotnet/sdk/2.0.0/

Microsoft .NET Core Shared Framework Host

  Version  : 2.0.0
  Build    : e8b8861ac7faf042c87a5c2f9f2d04c98b69f28d

テンプレート

現時点でサポートされているテンプレートを知ることが出来る。

>dotnet new --help
Templates                                         Short Name               Language          Tags
----------------------------------------------------------------------------------------------------------------------------------
Console Application                               console                  [C#], F#, VB      Common/Console
Class library                                     classlib                 [C#], F#, VB      Common/Library
WPF Application                                   wpf                      [C#]              Common/WPF
WPF Class library                                 wpflib                   [C#]              Common/WPF
WPF Custom Control Library                        wpfcustomcontrollib      [C#]              Common/WPF
WPF User Control Library                          wpfusercontrollib        [C#]              Common/WPF
Windows Forms (WinForms) Application              winforms                 [C#]              Common/WinForms
Windows Forms (WinForms) Class library            winformslib              [C#]              Common/WinForms
Worker Service                                    worker                   [C#]              Common/Worker/Web
Unit Test Project                                 mstest                   [C#], F#, VB      Test/MSTest
NUnit 3 Test Project                              nunit                    [C#], F#, VB      Test/NUnit
NUnit 3 Test Item                                 nunit-test               [C#], F#, VB      Test/NUnit
xUnit Test Project                                xunit                    [C#], F#, VB      Test/xUnit
Razor Component                                   razorcomponent           [C#]              Web/ASP.NET
Razor Page                                        page                     [C#]              Web/ASP.NET
MVC ViewImports                                   viewimports              [C#]              Web/ASP.NET
MVC ViewStart                                     viewstart                [C#]              Web/ASP.NET
Blazor Server App                                 blazorserver             [C#]              Web/Blazor
ASP.NET Core Empty                                web                      [C#], F#          Web/Empty
ASP.NET Core Web App (Model-View-Controller)      mvc                      [C#], F#          Web/MVC
ASP.NET Core Web App                              webapp                   [C#]              Web/MVC/Razor Pages
ASP.NET Core with Angular                         angular                  [C#]              Web/MVC/SPA
ASP.NET Core with React.js                        react                    [C#]              Web/MVC/SPA
ASP.NET Core with React.js and Redux              reactredux               [C#]              Web/MVC/SPA
Razor Class Library                               razorclasslib            [C#]              Web/Razor/Library/Razor Class Library
ASP.NET Core Web API                              webapi                   [C#], F#          Web/WebAPI
ASP.NET Core gRPC Service                         grpc                     [C#]              Web/gRPC
dotnet gitignore file                             gitignore                                  Config
global.json file                                  globaljson                                 Config
NuGet Config                                      nugetconfig                                Config
Dotnet local tool manifest file                   tool-manifest                              Config
Web Config                                        webconfig                                  Config
Solution File                                     sln                                        Solution
Protocol Buffer File                              proto                                      Web/gRPC

Examples:
    dotnet new mvc --auth Individual
    dotnet new webconfig
    dotnet new --help

, etc.

ビルド・デプロイ

ビルド

以下の様に使用している。

dotnet msbuild /p:Configuration=%BUILD_CONFIG% -v:d ".\xxxx.sln"

デプロイ

  • 以下のエラーが発生する場合、
    Error:
      An assembly specified in the application dependencies manifest (hogehoge.deps.json) was not found:
  • 以下のSCD設定で発行する。
    $ dotnet publish -c Release -r XXXX --self-contained
    • XXXXは、RuntimeIdentifiers?(RID値)。
    • RuntimeIdentifiers?に何を設定すべきか?は以下のコマンドから確認できる。
      $ cat /etc/os-release
      NAME="Ubuntu"
      VERSION="16.04.3 LTS (Xenial Xerus)"
      ID=ubuntu
      ID_LIKE=debian
      PRETTY_NAME="Ubuntu 16.04.3 LTS"
      VERSION_ID="16.04"
      HOME_URL="http://www.ubuntu.com/"
      SUPPORT_URL="http://help.ubuntu.com/"
      BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
      VERSION_CODENAME=xenial
      UBUNTU_CODENAME=xenial
  • 参考

, etc.

実行

通常実行

トレース実行

  • システムコールをトレースして原因を特定する。
    $ strace -o log.txt dotnet XXXX.dll
  • 原因の特定 ログ・ファイルから以下を発見。
    • カレント・ディレクトリが違っていてファイルを読み込めなかった。
      open("SHA256RSA.pfx", O_RDONLY)         = -1 ENOENT (No such file or directory)
    • bcrypt.dllファイルが読み込めなかったもよう。
      open("/usr/lib/bcrypt.dll.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
      ・・・
      open("/usr/lib/libbcrypt.dll", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

, etc.

参考

内部リンク

.NET Coreの開発

.NET Coreのデプロイ

WSL上での.NET Core開発


Tags: :.NET開発, :.NET Core


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-11-19 (火) 18:04:25 (67d)