我用一台新的笔记本电脑从VS15移到了VS19,我的新项目是一个单独的Windows窗体项目,它将在客户端的服务器上提取指标、统计数据和一些其他信息,并生成它们发送回的输出文件。要求它是一个单独的EXE。
但是,由于我所有的代码都在一个项目中,并且没有.NET本身之外的依赖项,我得到了[application].exe和[application].dll。这是不可接受的,我找不到禁用此功能的选项。
有人知道这在哪里吗,或者我必须回到VS 2015吗?
谢谢。
这是.NET Core/.NET 5的新常态:.exe是启动.NET运行时的包装器,所有应用程序代码都在.dll中。
你有两个选择:
- 您可以返回.NET Framework 4.x(无需为此降级VS——您可以将VS2019与针对.NET 4.x的C#一起使用(
- 您可以查看.NET5单文件部署。注意,这将需要";发布"生成所述单个文件的步骤;"0"的正常结果;构建";步骤仍然是.exe+.dll。
- 您可以使用;依赖于框架的";发布以避免在应用程序中包含.NET运行时(这避免了单独的本机运行时dll(
- 或者可以使用
/p:IncludeNativeLibrariesInSingleFile=true /p:IncludeNativeLibrariesForSelfExtract=true
强制将本机运行时dll包含在.exe文件中