Ich bin der Lage, eine C# -Code Probe zu erhalten in einem Powershell v2.0 Skript auszuführen, wie folgt:C# Datentabelle innerhalb Powershell-Skript
$Source = @"
using System;
namespace CSharpInPowershell
{
public static class Sample
{
public static void TryDataTable()
{
Console.WriteLine("Hello World");
Console.ReadLine();
}
}
}
"@
Add-Type -TypeDefinition $Source -Language CSharp
[CSharpInPowershell.Sample]::TryDataTable()
Allerdings bin ich erhalte eine Fehlermeldung beim Versuch, eine Datentabelle hinzufügen :
Add-Type -AssemblyName System.Data
$Source = @"
using System;
using System.Data;
namespace CSharpInPowershell
{
public static class Sample
{
public static void TryDataTable()
{
Console.WriteLine("Hello World");
DataTable table = new DataTable();
Console.ReadLine();
}
}
}
"@
Add-Type -TypeDefinition $Source -Language CSharp
[CSharpInPowershell.Sample]::TryDataTable()
der Fehler ich erhalte, ist die folgende:
Add-Type: c: \ Benutzer (User-ID) \ AppData \ Local \ Temp \ qbefurwr.0.cs (2): die Typ oder Namespacename 'Daten' existiert nicht im Namespace 'System' (fehlt eine Assemblyreferenz?) c: \ Benutzer (Benutzer-ID) \ AppData \ Local \ Temp \ qbefurwr.0.cs (1) : Verwenden von System; c: \ Benutzer (Benutzer-ID) \ AppData \ Local \ Temp \ qbefurwr.0.cs (2): >>> mit System.Data; c: \ Benutzer (User-ID) \ AppData \ Local \ Temp \ qbefurwr.0.cs (3): Namespace CSharpInPowershell Bei Zeile: 1 Zeichen: 9 + Add-Type < < < < -TypeDefinition $ Quelle -Sprache CSharp + CategoryInfo: invalidData: (c: \ Benutzer (User-ID) ... Bly Referenz?): Compiler) [Add-Type], Exception + FullyQualifiedErrorId: SOURCE_CODE_ERROR, Microsoft.PowerShell.Commands.AddTypeCommand
Add-Type : Kann keinen Typ hinzufügen. Es gab Kompilierungsfehler. In Zeile: 1 char: 9 + Add-Type < < < < -TypeDefinition $ Quelle -Sprache CSharp + CategoryInfo: invalidData: (:) [Add-Type], InvalidOperationException + FullyQualifiedErrorId: COMPILER_ERRORS, Microsoft.PowerShell. Commands.AddTypeCommand
Wie Sie sehen können, habe ich versucht, eine Referenz mit Add-Type -AssemblyName System.Data
hinzuzufügen. Mein Ziel ist es, C# -Code-Beispiele in einem Powershell-Skript verwenden zu können. Ich weiß, dass ich das alles in Powershell umschreiben könnte, aber ich versuche, diese Art von Scripting zum Laufen zu bringen.
Wie kann ich die Baugruppenreferenz für System.Data
im C# -Code erkannt bekommen?
UPDATE: Dank @SomeShinyObject, ich habe folgendes Arbeits Skript:
$Source = @"
using System;
using System.Data;
namespace CSharpInPowershell
{
public static class Sample
{
public static void TryDataTable()
{
Console.WriteLine("Hello World");
DataTable table = new DataTable();
Console.ReadLine();
}
}
}
"@
Add-Type -TypeDefinition $Source -Language CSharp `
-ReferencedAssemblies System.Data, System.XML
[CSharpInPowershell.Sample]::TryDataTable()
Danke, das hat meinen Fehler behoben. – MikeD