我尝试将扩展程序从指南6.7.3迁移到6.8。编译确实可以进行,没有任何更改,但是DLL不再加载。
看起来DLL甚至都没有加载,主构造函数中的断点没有命中,Visual Studio声称没有可用的符号。 相同版本在指南6.7.3中正常工作。
缩小显示该问题的最低版本:
using System;
using System.Collections.Generic;
using System.ComponentModel.Composition;
using System.Xml;
using Elektrobit.Guide.Studio.Workbench.ViewModels;
using Elektrobit.Guide.Ui.ViewModels;
using Elektrobit.Guide.Utilities;
[Export(typeof(IMenuItemProvider))]
public class TestMenuProvider : IMenuItemProvider
{
public string MenuId => "test";
[ImportingConstructor]
public TestMenuProvider()
{
}
public IEnumerable<IMenuItemViewModel> CreateMenuItems(object context)
{
return null;
}
}
构造函数TestMenuProvider()在6.7.3而非6.8上运行。
答案 0 :(得分:3)
示例代码对我来说很好。
但是,我遇到了类似的问题,所以这可能对您有帮助:
当他们从6.8版的x86切换到x64时,我可以想象您可能错过了更新扩展项目的构建设置。
在Visual Studio项目的项目属性中,前往Build -> Platform target
,并确保对于所有构建配置,将其设置为x64。