我尝试使用Add-Type构建WPF应用程序,但失败了。
$ a = @'
使用System.Windows;
公共课程计划
{
[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的帮助文档没有-UsingNamespace(和-ReferencedAssemblies)的用法, 所以我不太明白......
答案 0 :(得分:2)
几个问题:
$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);
}
}
'@
然后,编译:
Add-Type -TypeDefinition $a -ReferencedAssemblies presentationcore, presentationframework, windowsbase
最后:
ps> [program]::main(@())
此最后一行仅在您使用PowerShell ISE时启用,或者已使用-STA标志启动控制台版本的powershell 2.0。
最终这是一次学术练习。你真的应该使用像PowerBoots这样的成熟产品(另一张海报提到)。它为你完成了所有艰苦的工作(感谢Jaykul!)
-Oisin
答案 1 :(得分:0)
我个人会放弃这种方法并尝试PowerBoots这是非常强大的PowerShell模块,具有简单的语法和WPF的所有基本可能性。
除了你在剧本中提出的内容之外,还有很多工作要做,抱歉。