【发布时间】:2023-02-23 04:22:03
【问题描述】:
我将 Windows Server 2016 升级到 Windows Server 2022。
升级默认为全新安装,其中不保留任何设置、程序和自定义设置。
升级后,我将 IIS 的默认网站指向最初是 Win 2016 上 IIS 根目录的目录。
模块未在升级中继承。当我试图添加托管模块它返回以下错误:
There was an error while performing this operation.
Details:
Cannot execute a program. The command being executed was 'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe' /noconfig /fullpaths
@"C:Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\<number>\<number>.cmdline".
在原始计算机(已备份)上,IIS 的托管模块不会返回错误。我还补充说,如果有需要,我可以访问原来的计算机。
有什么方法可以重置此功能或更正此错误?
- - - - - - - - 更新
在服务器级别,这些选项运行良好。问题似乎只出现在网站级别。
- - - - - - - - 更新
当我在网站下的目录中添加C#程序时抛出错误。
作为 POC,我添加了一个简单的“Hello World”程序,Add Managed Module 返回了我分享的错误。
我可以确认目录中存在 csc.exe。
任何想法如何解决这个问题?它似乎 (没有把握) 问题的发生是因为代码无法编译。
任何有关如何解决此问题的想法将不胜感激。
【问题讨论】:
-
打开 NuGet 包管理器窗口并卸载
DotNetCompilerPlatform包并重建和重新发布。 -
我安装了 NuGet.CommandLine 包。当我尝试使用
Uninstall-package Microsoft.CodeDom.Providers.DotNetCompilerPlatform卸载它时,返回的错误是Uninstall-Package: No package found for 'Microsoft.CodeDom.Providers.DotNetCompilerPlatform''