3

我在 VS2019 中基于 Template 编写了一个简单的 ASP.NET Core 3.1 Web 应用程序。在依赖框架的部署模式下将应用程序发布到以 netcoreapp3.1 为目标的文件系统,并以可移植运行时为目标。

该应用程序通过 IIS express 在我的开发盒上运行良好,运行 app.exe 和 dotnet app.dll。

在我们的暂存 IIS 上设置它并没有任何乐趣。运行 app.exe 按预期工作,但 dotnet app.dll 没有。相反,它告诉我

找不到应用程序依赖项清单 (SmartDirectoryNG.deps.json) 中指定的程序集:包:'Microsoft.Win32.Registry.AccessControl',版本:'4.7.0' 路径:'runtimes/win/lib/netstandard2.0 /Microsoft.Win32.Registry.AccessControl.dll'

当我将应用程序发布到目标 win-x64 时,一切正常。

我奇怪地想起了完整的 .NET 框架上的程序集重定向地狱,但我很好奇:为什么当我为 win-x64 发布时它会起作用?Microsoft.Win32.Registry.AccessControl.dll 始终与 app.exe 和 app.dll 位于同一目录中,并且 app.exe 确实找到了它。它似乎处于可移植模式,它不会在 app 目录中查找依赖项。

那么我在这里错过了什么?

4

0 回答 0