我觉得这可能是一个非常愚蠢的问题,但是当我构建我的解决方案(控制台应用程序)时,它创建了一个dll而不是可执行文件。 我是否做错了什么或者只是误解了这个过程?
我觉得这可能是一个非常愚蠢的问题,但是当我构建我的解决方案(控制台应用程序)时,它创建了一个dll而不是可执行文件。 我是否做错了什么或者只是误解了这个过程?
.NET Core
,请在 Visual Studio 的 生成
菜单中使用 Publish
,并设置 Target runtime
格式,例如 win-x86
,以生成正确的应用程序格式。.NET Core
的说明,并修复了“在您的项目上”的问题。 - undefinedstatic void Main()
的方法,并将输出类型设置为控制台应用程序。不,这是合法的。至少对于.NET Core 2.x而言。对于.NET Core 3.x,它会构建一个.EXE文件。您可以通过运行:dotnet foo.dll
来运行它。
因此,现在请使用Publish代替Build。这将生成一个.EXE文件。
我通常会准备一个命令来快速生成它:
dotnet publish -c Release -r win10-x64 --self-contained:false
右键点击项目 > 发布 > 配置
选择 部署模式:自包含
选择 首选目标运行时
记下目标位置
点击发布
现在你会在你记下的目标位置找到你的exe文件
注意:默认选项设置为依赖框架模式,这就是为什么你看到输出的是dll文件,要运行它,你可以使用dotnet MyConsoleApp.dll
dotnet publish -c Release -r win10-x64 --self-contained true
dotnet publish -r win10-x64 -c Release /p:PublishSingleFile=true
.CSProj
<PropertyGroup>
<PublishTrimmed>true</PublishTrimmed>
</PropertyGroup>
dotnet publish -c Release -r win10-x64 --self-contained true
cspoj
文件中显示属性组。 - undefined