0

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 ファイル (巨大な可能性があります) を取得することを期待します。

何か案は?

4

0 に答える 0