即使从NUGet软件包管理器安装最新版本,system.runtime DLL仍指向旧版本的问题。

问题描述 投票:0回答:1

我目前正在努力将PowerShell脚本集成到我的ASPX Web表单中,在这个过程中,我面临着以下问题,这使我无法继续前进,因为我甚至无法建立解决方案,因为参考问题。

a) 已安装 system.Management.automation 从NuGet包管理器,但是安装后我没有看到自动添加的引用,所以我从项目位置手动添加了这个DLL。不知道这是否会造成问题,但假设它应该是自动添加的。

b) system.Management.automation 7.0版DLL需要 System.runtime Version=4.2.2.0,所以我安装了System.runtime 4.3稳定版。但当我尝试添加最新版本时,它仍然指向旧的4.1.2.0版本,并出现以下错误,导致失败

> Error CS1705  Assembly 'System.Management.Automation' with identity
> 'System.Management.Automation, Version=7.0.0.0, Culture=neutral,
> PublicKeyToken=31bf3856ad364e35' uses 'System.Runtime,
> Version=4.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
> which has a higher version than referenced assembly 'System.Runtime'
> with identity 'System.Runtime, Version=4.1.2.0, Culture=neutral,
> PublicKeyToken=b03f5f7f11d50a3a'  WebApplication16    C:\Users\****\source\repos\WebApplication16\WebApplication16\Default.aspx.cs    32  Active

以下是我试过的东西,但都没有用。

1)多次创建新项目

2)已清理并重建解决方案

3)尝试给 bindingRedirectWeb.config 让它使用最新的版本,不成功。

4) 从References中删除了旧版本,并试图添加一个新的系统,但它将旧版本添加到项目中。

谁能就此提出建议?

c# asp.net dll
1个回答
0
投票

你使用的是.Net Framework,而不是.Net Core,我认为这就是导致问题的原因,这是很神秘的,因为你可以引用DLL,但不能使用它。

你需要找到这个库的旧版本。Nuget是不行的,因为那里最早的版本是6.0.4,使用的是System.Runtime 4.2.0。

在你的电脑上搜索其他的老版本,很可能在GAC文件夹里找到。一旦找到,复制并引用它。Automation DLL 4.x版本很可能在你的情况下工作。

© www.soinside.com 2019 - 2024. All rights reserved.