首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >最好的是..。ASP.NET核心模块processPath到.exe或.dll

最好的是..。ASP.NET核心模块processPath到.exe或.dll
EN

Stack Overflow用户
提问于 2020-12-27 17:16:10
回答 1查看 1.6K关注 0票数 2

发布Asp.net核心应用程序时,它会生成具有以下配置的web.config

<aspNetCore processPath=".\MyApplication.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />

您可以使用processPath=".\MyApplication.exe"processPath=".\MyApplication.dll"

有没有人知道每一个开关的优点和缺点,什么时候我们应该使用哪一个?

谢谢你的进阶!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-28 12:34:54

通常,我不认为你在那里有太多的选择。据我所知,有两种选择:

  • 通过指定.exe的路径来运行自包含的应用程序。
  • 通过指定dotnet可执行文件的路径并将路径传递给应用程序DLL来运行依赖于框架的应用程序。

这也是文件显示以及当您从Visual或通过dotnet发布ASP.NET核心应用程序时自动发生的情况。因此,转换后的web.config应该具有以下任何一种配置:

代码语言:javascript
复制
<!-- self-contained application -->
<aspNetCore processPath=".\MyApp.exe" … />

<!-- framework-dependent application -->
<aspNetCore processPath="dotnet" arguments=".\MyApp.dll" … />

这里的框架相关应用程序配置假设dotnet可执行文件位于PATH环境变量中。否则,还可以指定绝对路径。

我个人从未见过<aspNetCore processPath=".\MyApp.dll" … />,如果这能奏效,我会感到惊讶,因为IIS的ASP.NET核心托管模块实际上并没有提供任何启动.NET核心应用程序的知识(至少据我所知)。这就是为什么您通常必须指定可执行的路径(应用程序的.exe本身或运行时可执行文件)。

至于使用这些选项中的哪一个,这实际上取决于您希望如何运行应用程序。如果您将应用程序发布为自包含的,则运行库已经包括在内,您这样做是为了独立于可能安装在机器上的全局运行时。如果您将应用程序发布为依赖于框架的应用程序,则依赖于机器上可用的框架(也可以集中更新等)。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65468334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档