在Visual Studio 2017中生成.NET Core控制台应用程序.exe文件
嘿,我之前也踩过这个坑!在VS2017里创建.NET Core控制台程序时,默认生成的是跨平台的.dll文件(可以通过dotnet run运行),但要得到Windows平台的.exe可执行文件,只需要调整几个简单的设置就行,给你分享两种常用方法:
方法一:通过项目属性可视化设置
这是最直观的方式,适合不想手动改配置文件的同学:
- 右键你的控制台项目,选择「属性」(或者直接按
Alt+Enter快捷键) - 切换到左侧的「生成」选项卡
- 找到页面右下角的「高级」按钮,点击打开「高级生成设置」对话框
- 在「输出类型」里确认选择的是「控制台应用程序」(默认应该是这个,但保险起见检查一下)
- 回到「生成」选项卡,找到「目标运行时」下拉框,选择你需要的Windows平台(比如
win-x64对应64位系统,win-x86对应32位系统) - 最后点击「确定」,重新构建项目(按
Ctrl+Shift+B)
构建完成后,你就能在bin\Debug\netcoreapp[你的版本号]\[目标运行时]目录下找到对应的.exe文件了。
方法二:手动编辑.csproj配置文件
如果你习惯直接改项目配置,这种方式更快捷:
- 在解决方案资源管理器里,右键项目选择「编辑项目文件」(或者直接找到项目目录下的
.csproj文件用文本编辑器打开) - 在
<PropertyGroup>节点里添加或修改以下配置:
<!-- 指定目标Windows运行时,这里以win-x64为例 --> <RuntimeIdentifier>win-x64</RuntimeIdentifier> <!-- 可选:如果需要独立部署(包含完整.NET Core运行时,无需系统安装框架),设置为true;框架依赖则设为false --> <SelfContained>true</SelfContained>
- 保存文件后,VS会自动重新加载项目,再重新构建即可生成.exe文件。
另外补充一下:如果选择框架依赖模式(SelfContained=false),生成的.exe是轻量的启动器,运行时会调用系统中已安装的.NET Core运行时;而独立部署模式生成的.exe会包含所有依赖,体积更大,但可以在没有安装.NET Core的机器上直接运行。
内容的提问来源于stack exchange,提问作者sara
相关产品推荐
相关产品推荐

