【问题标题】:How do i add dependencies to ASPX forms project? (nuget already tried)如何将依赖项添加到 ASPX 表单项目? (nuget已经尝试过)
【发布时间】:2020-05-04 12:13:01
【问题描述】:

我很久以前就使用过asp表单,现在我必须创建一个使用powershell库的简单Web界面。

[Nuget URI][1]https://www.nuget.org/packages/System.Management.Automation/

但似乎不可能。 使用 System.Management.Automation;

已经尝试过安装通常的方式(通过cli和giu),将库复制到\bin文件夹和许多其他方式。

我经常收到错误:

严重性代码描述项目文件行抑制状态 错误无法加载文件或程序集“System.Management.Automation,Version=7.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。无法验证强名称签名。程序集可能已被篡改,或者它被延迟签名但未使用正确的私钥完全签名。 (HRESULT 异常:0x80131045)

因为简单,我正在尝试 Web 表单,希望我错过了一个简单的东西。

我们将不胜感激。

【问题讨论】:

  • “我正在尝试 Web 表单,因为它很简单”——你可能想重新考虑一下。 Web 表单的简单性与事实相去甚远。
  • 嗯,作为后端开发人员,提供了一种无需了解 JavaScript 或 AJAX 即可创建 Web 用户界面的简单方法。一点也不差。
  • 我也把大部分时间花在后端,但我仍然可以告诉你,ASPX 并不简单。回传?异步回发?托管客户 ID?回传触发器?视图状态?缺乏依赖注入?测试困难?是的,Web 表单很简单是微软带着玫瑰色眼镜回顾它。它一出来就很棒 - C# 作为一种 Web 服务器语言!但是较新的框架消除了很多有漏洞的抽象,而且要简单得多。 MVC、Razor Pages,甚至 Blazor 都会更简单。学一点 JS 会比解开 ASPX 的烂摊子要简单。
  • 但是我已经知道 ASPX Forms,我只需要能够包含库。
  • 如果您不希望有人选择“我正在尝试 Web 表单因为简单”之类的愚蠢陈述,那么首先不要将其包含在您的问题中可能是个好主意。至于您引用 System.Management.Automation 的问题,请从您的项目中删除它的所有痕迹(引用、NuGet 引用等)。确保您的 .config 文件中没有相关的绑定重定向。对您的项目进行清理。完成后,再次尝试通过 NuGet 添加。

标签: c# asp.net webforms


【解决方案1】:

这是一个版本不兼容,正如 mason 在 1st post cmets 中指出的那样。使用位于 C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Management.Automation\v4.x.x.x.x__xxxxxxxxxxxxxx 上的操作系统库

.net Framework aspx 变得越来越复杂,不要被其他类型的项目或脚本所迷惑,在这些项目或脚本中,您可以使用可以找到的任何二进制文件。

我使用“\sn.exe -Vr yourDll.dll”和“sn.exe -Vl”向 GAC 注册并检查 nuget 库,但是,我遇到了另一个错误:

无法加载文件或程序集“System.Runtime.Extensions”

看来我必须使用实际的操作系统库,否则它将无法工作。

还尝试创建自定义库和工作(myClass1 工作),不需要 GAC 注册表。 还尝试下载mysql官方库,注册成功。

无论如何,希望对某人有所帮助。

【讨论】:

    猜你喜欢
    • 2018-05-29
    • 2021-04-02
    • 1970-01-01
    • 2019-03-19
    • 2013-09-18
    • 1970-01-01
    • 2022-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多