如何建立一个WPF应用程序添加型C#代码
-
20-09-2019 - |
题
我打算建立WPF应用程序中使用添加型,但它失败。
$a=@'
使用的系统。窗;
公共类程序
{
[STAThread()]
公共则(string[]args)
{
应用程序的应用程序=新的应用程序();
Window1w=new Window1();
应用程序。运行(w);
}
}
'@
添加型-TypeDefinition$a-UsingNamespace"系统。窗户"
添加型的帮助的文件没有用的-UsingNamespace(和-ReferencedAssemblies), 所以我不理解...
解决方案
几个问题:
$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);
}
}
'@
- 缺少"使用的系统;"参考STAThread
- 窗w=new窗口()-不Window1.
然后,汇编有:
Add-Type -TypeDefinition $a -ReferencedAssemblies presentationcore, presentationframework, windowsbase
- 失踪WPF会refernces
最后:
ps> [program]::main(@())
这最后一行,只会的工作,如果你使用PowerShell势,或者已经开始控制台版o powershell2.0与STA标志。
最终,这是一个学术活动。你真的应该采用一个成熟产品,如PowerBoots(所提到的其他海报).这样做的所有辛勤工作对你有(感谢Jaykul!)
-Oisin
其他提示
我个人放弃了这一做法,并尝试 PowerBoots 很方便的语法和所有非常强大的PowerShell模块WPF的基本可能性可用。
还有更多比你的脚本已经提出的事,对不起。
不隶属于 StackOverflow