【发布时间】:2023-03-27 12:44:01
【问题描述】:
我正在使用 PowerShell 脚本直接在脚本中运行 C# 代码。我已经多次遇到特定错误的错误。如果我对 PowerShell ISE 中的 C# 代码进行任何更改并尝试再次运行它,我会收到以下错误。
Add-Type : Cannot add type. The type name 'AlertsOnOff10.onOff' already exists.
At C:\Users\testUser\Desktop\test.ps1:80 char:1
+ Add-Type -TypeDefinition $Source -ReferencedAssemblies $Assem
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (AlertsOnOff10.onOff:String) [Add-Type], Exception
+ FullyQualifiedErrorId : TYPE_ALREADY_EXISTS,Microsoft.PowerShell.Commands.AddTypeCommand
我解决此错误的方法是更改命名空间和调用 C# 方法 [AlertsOnOff10.onOff]::Main("off") 的命令。我有什么方法可以防止此错误发生而无需更改命名空间和方法调用?
【问题讨论】:
-
我建议使用 VS 和 ex。用于开发和调试程序集的控制台应用程序。 PowerShell 可以使用托管代码,但它并非旨在用作 VS 的替代品(尽管它是一个很好的补充)
-
这有帮助吗?当然,如果您的类型定义发生更改,这将无济于事,但如果您不打算重新定义类型,这可能是一种解决方法:stackoverflow.com/questions/16552801/…
标签: c# powershell runtime-error