我有一個VSIX和一個使用IModelConversionExtension類的關聯MEF DLL,以及一個設置.foo作爲擴展名的pkgdef文件調用EF Designer。如何獲取使用Model1.foo而不是Model1.edmx,並調用IModelConversionExtension回調
[PartCreationPolicy(CreationPolicy.Shared)]
[Export(typeof(IModelConversionExtension))]
[ModelFileExtension(".foo")]
public class MyConversionCallback : IModelConversionExtension
{
public void OnAfterFileLoaded(ModelConversionExtensionContext context)
{
//How does this get called?
return;
}
public void OnBeforeFileSaved(ModelConversionExtensionContext context)
{
//How does this get called?
return;
}
}
[$RootKey$\Editors\{c99aea30-8e36-4515-b76f-496f5a48a6aa}\Extensions]
"foo"=dword:00000032
[$RootKey$\Projects]
[$RootKey$\Projects\{F184B08F-C81C-45F6-A57F-5ABD9991F28F}]
[$RootKey$\Projects\{F184B08F-C81C-45F6-A57F-5ABD9991F28F}\RelatedFiles]
[$RootKey$\Projects\{F184B08F-C81C-45F6-A57F-5ABD9991F28F}\RelatedFiles\.foo]
".diagram"=dword:00000002
[$RootKey$\Projects]
[$RootKey$\Projects\{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}]
[$RootKey$\Projects\{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\RelatedFiles]
[$RootKey$\Projects\{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\RelatedFiles\.foo]
".diagram"=dword:00000002
我可以同時獲得類似的轉換和生成MEF類工作正常。 而且我的Model1.foo確實調用了EF Designer,但是 1. OnAfterFileLoaded和OnBeforeFileSaved永遠不會觸發,並且 2.當我試圖保存Model1.foo時,會看到一條錯誤消息,該消息表示在錯誤列表中看到錯誤,但是沒有了。
什麼沒有做到讓這個工作。 感謝