C# .NetCoreApp2.2 コンソール アプリケーションの使用可能な exe ファイルを公開しようとしています。
Visual Studio Code IDE を使用して、C# で小さなアプリケーションを作成しました。まず入力dotnet new console
して、Visual Studio Code 内でプロジェクトを開きました。log4net や DocumentFormat.OpenXml などのサードパーティ ライブラリをいくつかインストールしました。
Visual Studio Code 内でアプリケーションをデバッグできます - 問題ありません。dotnet run
プロジェクトのソース ディレクトリ内で実行できます- 問題ありません。こちらも問題なく走れdotnet publish -c Release -r win10-x64 --self-contained true
ます。
publish コマンドの後、予想されるサブディレクトリ内に予想される .exe ファイル (および他の多くのファイル?) を取得します。
問題は次のとおりです。.exe ファイルを実行しようとすると、未処理の期待値が表示されます。
私はサードパーティのライブラリを参照していますが、私が理解しているように、自己完結型のオプションがそれを処理する必要があります-そうですか?
project.json
私はググって、私が持っていない - ファイルについて話している公開プロセスを説明するいくつかの結果を見ました。また、このファイルは指定された dotnet-command を使用して作成されると説明されています。私にとっては、そのコマンドを使用して作成されることはありません-設定する追加のフラグはありますか?
これは私の .csproj ファイルです
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.2</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="log4net" Version="*" />
<PackageReference Include="Nunit3TestAdapter" Version="3.13.0" />
<PackageReference Include="NUnit" Version="3.12.0"/>
<PackageReference Include="System.Configuration.ConfigurationManager" Version="*" />
<PackageReference Include="DocumentFormat.OpenXml" Version="2.8.1" />
<PackageReference Include="SixLabors.ImageSharp" Version="1.0.0-beta0006" />
</ItemGroup>
</Project>
バージョンの「*」が問題になる可能性はありますか?
dotnet run
プロジェクトのソースディレクトリ内でコマンドを使用して取得するのと同じ出力を実行して表示する単一の .exe ファイル (巨大な可能性があります) を取得することを期待します。
何か案は?