Код: Выделить всё
var basePath = Directory.GetCurrentDirectory();
var dll = Assembly.LoadFile(Path.Combine(basePath, "Components.dll"));
foreach (var type in dll.GetExportedTypes())
{
if (type.IsAssignableTo(typeof(IComponentPlugin)))
{
var instance = Activator.CreateInstance(type);
if (instance is IComponentPlugin plugin)
{
// Do Stuff
}
}
}
я могу получить styleinclude и resourceinclude из моего DLL, путем ICOMPONENTPLUGIN :
public ResourceInclude? GetResources()
{
var uri = new Uri("avares://DefaultResources.axaml");
return new ResourceInclude(uri) { Source = uri };
}
public StyleInclude? GetStyle()
{
var uri = new Uri("avares://DefaultStyle.axaml");
return new StyleInclude(uri) { Source = uri };
}
Но, когда я пытаюсь добавить его в ресурсы моего приложения , avaloniaxamloader жалуется. «Нет предварительного сборочного XAML для Avares: //defaultresources.axaml/ (baseuri: avares: //defaultresources.axaml/)».
Я пытался получить содержимое файла и загружать его с помощью avaloniaruntimexamloader from avalonia.markup.markup.markup.markup.markup.markup.markup.markup. Пакет: < /p>
Код: Выделить всё
public Stream? GetResources()
{
return AssetLoader.Open(new Uri("avares://DefaultResources.axaml"));
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... loaded-dll
Мобильная версия