我正在尝试发布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
。
发布命令后,我在期望的子目录中获得了期望的.exe文件(以及许多其他文件?)。
现在出现问题: 尝试执行.exe文件后,我得到了无法处理的期望。
我确实引用了第三方库,但是据我了解,自包含选项应该注意这一点-是吗?
我在Google上搜索了一些结果,这些结果描述了有关project.json
-我没有的文件的发布过程。人们还描述将使用给定的dotnet命令创建此文件。对我来说,它永远不会使用该命令创建-是否需要设置其他标志?
这是我的.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文件(可能很大)。
有什么想法吗?