从错误日志中:- 未处理的异常:System.IO.FileNotFoundException:无法加载文件或程序集'System.Runtime,版本= 4.2.1.0,区域性=中性,PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一。系统找不到指定的文件。
据我了解,我需要在app.config中进行更改以匹配版本,但是找不到app.config。
我的web.config(如果发现任何错误,则发布整个文件)
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<modules>
<!-- Remove WebDAV module so that we can make DELETE requests -->
<remove name="WebDAVModule" />
</modules>
<handlers>
<!-- Remove WebDAV module so that we can make DELETE requests -->
<remove name="WebDAV" />
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<!-- When deploying on Azure, make sure that "dotnet" is installed and the path to it is registered in the PATH environment variable or specify the full path to it -->
<aspNetCore requestTimeout="23:00:00" processPath="D:\******ini_nc\Presentation\Nop.Web\bin\Release\netcoreapp2.1\Nop.Core.dll" arguments="dotnet" forwardWindowsAuthToken="false" stdoutLogEnabled="True" stdoutLogFile=".\logs\stdout" startupTimeLimit="3600">
<environmentVariables />
</aspNetCore>
<httpProtocol>
<customHeaders>
<remove name="X-Powered-By" />
</customHeaders>
</httpProtocol>
<directoryBrowse enabled="true" />
</system.webServer>
<system.web>
<identity impersonate="true" />
</system.web>
</configuration>
答案 0 :(得分:0)
我不建议对发布时自动生成的文件(例如web.config)进行更改。这是一个如何在.net核心中替换.net框架的web.config的小例子。
IConfiguration
链接到自定义源)。cs对于您的情况,请检查服务器是否具有所需的运行时。如果可能,请从服务器中的dot.net/core安装所需的.net core运行时。如果由于权限等原因无法安装此程序,则可以降级您的应用程序版本或使用独立的发布。
降级应用版本
请记住,这意味着您将丢失版本特定的代码。如果您已经有很多特定于版本的代码,则不建议这样做。这可以通过更新.csprog文件来完成。与.net框架不同。在.net core中更新此文件被认为是干净安全的。
**独立发布**
此选项旨在在未安装任何.net核心的系统上工作。它通过将包含所有.net Core运行时相关文件的已发布文件创建到一个巨大的publish文件夹中而起作用。因此,请记住,发布文件夹会很大。看看这个以获得更多信息https://docs.microsoft.com/en-us/dotnet/core/deploying/