Как указывает @CaioProiete, Я окружил переопределение метода GetCustomUI () блоком try / catch и записал исключение в текстовый файл.Это дало мне доступ к исключению, возникшему при запуске плагина.
И, в заключение, проблема в том, что у меня был дополнительный файл конфигурации JSON, который не был учтен упакованным XLL, по-видимому, нет простого способа включить его через файл ДНК.
Обходной путь объяснен здесь : установите для внешнего файла значение встроенный ресурс и прочитайте его из потока ресурсов манифеста .
В моем конкретном случае я использовал его в качестве поставщика услуг DI и строю его следующим образом:
private IServiceProvider BuildServiceProvider()
{
var serviceCollection = new ServiceCollection();
//Configuration
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.SetBasePath(Directory.GetCurrentDirectory());
var assembly = Assembly.GetExecutingAssembly();
var resourceName = "otherconfig.json";
using (Stream stream = assembly.GetManifestResourceStream(resourceName))
using (StreamReader reader = new StreamReader(stream)) {
string result = reader.ReadToEnd();
string tempPath = Path.GetTempFileName();
File.WriteAllText(tempPath, result);
builder.AddJsonFile(tempPath);
}
IConfiguration config = builder.Build();
serviceCollection.AddSingleton(config);
//other dependency injection service registration
return serviceCollection.BuildServiceProvider();
}