Używam skryptu PowerShell do uruchamiania kodu C# bezpośrednio w skrypcie. Kilka razy wystąpił błąd, który spowodował błąd. Jeśli wprowadzę jakiekolwiek zmiany w kodzie C# w PowerShell i spróbuję uruchomić go ponownie, pojawia się następujący błąd.PowerShell Add-Type: Nie można dodać typu. już istnieje
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
Sposób, w jaki zostały rozwiązania tego błędu jest przez zmianę nazw i polecenie, aby zadzwonić do C# metody [AlertsOnOff10.onOff]::Main("off")
. W jaki sposób mogę zapobiec wystąpieniu tego błędu bez konieczności zmiany przestrzeni nazw i wywołania metody?
Proponuję za pomocą VS i ex. aplikacja konsolowa do rozwijania i debugowania złożeń. PowerShell może używać zarządzanego kodu, ale nie jest przeznaczony do zastępowania VS (co jest świetnym uzupełnieniem). –
Czy to pomoże? Oczywiście, jeśli zmieni się definicja twojego typu, to nie pomoże, ale może to być obejście problemu, jeśli nie planujesz przedefiniować typu: http://stackoverflow.com/questions/16552801/how-do-i-conditionally-add -a-class-with-add-type-typedefinition-if-it-isnt-add – OffHeGoes