我来自桌面应用程序世界(WPF,WinForms),其中约定是将您的exe文件部署到\Program Files[ (x86)]\CompanyName\AppName\
目录,并将所有数据存储在\Program Data\CompanyName\AppName\
目录中。在桌面上发布Asp.NET Core应用程序的目录是什么?
在桌面(而不是服务器)PC上部署Asp.NET Core Web服务的相应约定是什么? Program Files
目录似乎不是一个好主意,因为它需要管理员凭据进行编写,这是您尝试发布应用程序时遇到的问题。另一方面,虽然Program Data
没有权限问题,但由于没有相应的Program Files
位置,所以它不太正确。
我也见过C:\intepub\wwwroot\web-service-name
,当涉及到IIS时。这是要走的路吗?我猜测在Kestrel中运行Asp.Net核心应用作为反向代理在IIS后面运行是有意义的,但是如果我将应用托管在Windows服务中,该怎么办呢?
有很多终端用户以及部署为带有嵌入式Web应用程序的Windows服务的企业应用程序(使用Apache,tomcat ..等)在'Program Files'下,例如:HPE服务器管理/配置工具。所以对于Kestrel APP来说,我会在'Program Files'下将bin分解为'Program Files'和日志,DB等。它将在没有许可问题的情况下工作,因为'dotnet'二进制文件具有所需的权限。 –
@JawadAlShaikh发表您的评论作为答案,我会接受它。 – Eternal21