我正在使用.net core 2.0控制台应用程序。我需要使用命令提示符运行此控制台应用程序。
像, MyApp.exe参数
我使用以下命令发布了控制台应用程序以生成.exe:
dotnet publish -c Release -r win10-x64
它会创建多个.exe文件,
1)\ bin \ Release \ netcoreapp2.0 \ win10-x64
2)\ bin \ Release \ netcoreapp2.0 \ win10-x64 \ publish
我相信两者都是相同的,我可以使用(2)作为应用程序的发布版本。纠正我,如果错了。 我不知道为什么它会在(1)生成.exe并且不包含那些dll。 有什么区别?
任何人都可以向我提供更多相关信息吗?
答案 0 :(得分:1)
第一个仍然是依赖于框架的部署,它在您调用dotnet run -r win-x64
时使用。它通过.runtimeconfig.json
和您的PATH
环境变量中的信息解析和配置共享框架,并根据您的全局包通过.runtimeconfig.dev.json
和.deps.json
中的值查找DLL缓存(=>特定于您的机器和用户)。
对于部署自包含应用程序,publish文件夹包含所有必需的资产。主机使用本地dll而不是共享框架以及必要的DLL。