How to build a WPF application with Add-Type C# code

By : hoge
Source: Stackoverflow.com
Question!

i tryed to build WPF application using Add-Type, but it failed.


$a = @'
using System.Windows;
public class Program
{
[STAThread()]
public static void Main(string[] args)
{
Application app = new Application();
Window1 w = new Window1();
app.Run(w);
}
}
'@

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


Add-Type's help document doesn't have usages of -UsingNamespace (and -ReferencedAssemblies), so i dont well understand...

By : hoge


Answers

Personally I would give up this approach and try PowerBoots It's very powerfull PowerShell module with easy syntax and all the basic possibilities of WPF available.

There is much more to do than what you have presented in the script, sorry.

By : stej


Several problems:

$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); 
   } 
 } 
'@
  • Missing "using System;" reference for STAThread
  • Window w = new Window() - NOT Window1.

Then, compile with:

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

Finally:

ps
By : x0n


This video can help you solving your question :)
By: admin