我在Windows工作,想在Windows上构建一个dotnet核心应用程序,以便在Linux上运行.在build文件夹中,我看到已发布文件夹中的.DLL文件引用,这显然不适用于Linux - 如何从我的Windows环境编译应用程序以在Linux上运行?可能吗?
在project.json文件中指定了运行时版本,我认为这与C:\ Program Files\dotnet\sdk\1.0.0-preview2-003121\runtimes位置中的运行时相关联?如果是这样,我如何在Windows中安装Linux运行时并引用它?
linux windows cross-compiling kestrel-http-server asp.net-core-1.0
因此,在生产环境中,我在 IIS 8(Windows Server 2012 R2)中托管的所有 dotnet 核心应用程序在一天中的随机时间重新启动。大约一天一次。永远不会同时 - 随机时间。我有很多用户在生产中遇到了这个问题,以及计划的服务失败等等......最后这个重启导致了停机时间(我的主服务需要大约 5 分钟才能启动,因为它受到了请求等的影响)每天,这显然是不可接受的。
在事件查看器中,重新启动之前没有任何内容 - 每个服务只有一行:
信息 - 时间戳 - IIS AspNetCore 模块 - 1001 - 无
详细信息:进程“9652”成功启动并正在侦听端口“25405”。
对于我拥有的每个 dotnet 核心应用程序(dotnet 1.0.0 - netcoreapp1.0)。有时应用程序在第一次尝试后会失败,可能是因为它的点击次数过多,或者其他原因,这只会延长停机时间。
没有 IIS 或 dotnet 故障转储(我通过 WER 启用了故障转储)。应用程序日志中没有任何帮助,IIS 日志中也没有任何帮助......我也打开了 STDOUT 日志 - 在重新启动时没有任何帮助。
服务器上的 dotnet 核心版本:.NET Core 1.0.1 - SDK 1.0.0 Preview 2-003133 (x64) - 我不认为 dotnet 是罪魁祸首,因为它是 IIS 进行重启...
我该怎么做才能找出我的应用程序崩溃的原因?