public class TaskPaneX : Office.ICustomTaskPaneConsumer { private Office.ICTPFactory _taskPaneFactory; internal Office.CustomTaskPane _taskPane; public void CTPFactoryAvailable(Office.ICTPFactory CTPFactoryInst) { try { _taskPaneFactory = CTPFactoryInst; _taskPane = _taskPaneFactory.CreateCTP( "ContosoAddin.SimpleControl", "SimpleControl", Type.Missing); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } }1. Make sure user control class has Comvisible and ProgID defined. See for above code:
[ComVisible(true)] [ProgId("ContosoAddin.SimpleControl")] [Guid("918E7B30-E23A-4226-85A2-181ABB514C66")] public partial class SimpleControl : UserControl { public SimpleControl() { InitializeComponent(); } }
2. Make sure the managed assembly must be strong name assembly and would be better if shim assembly has same GUID /ProgID.
3. First register the original shared add-in assembly:
cd C:\Windows\Microsoft.NET\Framework\v2.0.50727
regasm /codebase "<install_locationC:\Data\COMShims\2.3\Sample Managed Assemblies\TestExcel2007Addin\TestExcel2007Addin\bin\Debug\TestExcel2007Addin.dll"
4. Register shim assembly:
Regsvr32 “<shim assembly path>”
5. Test the add-in.
Hope, It helps.
No comments:
Post a Comment