Pregunta

i tryed para construir aplicaciones WPF usando Add-Type, pero fracasó.
$ A = @ '
utilizando System.Windows;
    Programa public class
    {
        [STAThread ()]
        public void main (String [] args)
        {
            app de aplicación = nueva aplicación ();
            Window1 w = new Window1 ();
            app.Run (w);
        }
    }
'@

Add-Type -TypeDefinition $ a -UsingNamespace "System.Windows"

documento de ayuda de Add-Type no tiene usos de -UsingNamespace (y -ReferencedAssemblies), así que no entiendo bien ...

¿Fue útil?

Solución

Varios problemas:

$a = @'
 using System;
 using System.Windows;

 public class Program 
 { 
   [STAThread()] 
   public static void Main(string[] args) 
   { 
     Application app = new Application(); 
     Window w = new Window(); 
     app.Run(w); 
   } 
 } 
'@
  • Falta de "using System;" referencia para STAThread
  • ventana w = nueva ventana () -. NO Window1

A continuación, compilar con:

Add-Type -TypeDefinition $a -ReferencedAssemblies presentationcore, presentationframework, windowsbase
  • Missing refernces montaje WPF

Por último:

ps> [program]::main(@())

Esta última línea sólo funcionará si está utilizando PowerShell ISE, o ha comenzado la versión de consola o PowerShell 2.0 con la bandera -sta.

En última instancia se trata de un ejercicio académico. Que realmente debería estar usando un producto maduro como PowerBoots (mencionado por el otro cartel). Se ha hecho todo el trabajo duro para usted (gracias Jaykul!)

-Oisin

Otros consejos

En lo personal me gustaría renunciar a este enfoque y tratar PowerBoots Es módulo de PowerShell muy potente con fácil sintaxis y todas las posibilidades básicas de WPF disponibles.

Hay mucho más que hacer que lo que usted ha presentado en el guión, lo siento.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top