В некоторых примерах показано изменение действия App.xaml Build Action с ApplicationDefinition
на Page
и запись собственного Main()
, который создает экземпляр класса App
и вызывает его метод Run()
, но это может привести к нежелательным последствиям.разрешение ресурсов приложения в App.xaml.
Вместо этого я предлагаю создать свой собственный Main()
в своем собственном классе и установить для этого объекта запуска в свойствах проекта:
public class EntryPoint {
[STAThread]
public static void Main(string[] args) {
if (args != null && args.Length > 0) {
// ...
} else {
var app = new App();
app.InitializeComponent();
app.Run();
}
}
}
Я делаю это, чтобы воспользоваться некоторыми AppDomain
событиями, на которые необходимо подписаться, прежде чем что-либо еще произойдет (например, AssemblyResolve
).Нежелательные последствия установки в App.xaml значения Page
, с которым я столкнулся, включали UserControl
Views (MV-VM), не разрешающие ресурсы, хранящиеся в App.xaml во время разработки.