-
It is possible to support the “new” operator in VSTA add-ins. Integration styles which do not use a full proxy, such as NoRuntime and ProxyShim, can easily support this feature. All that is required is public constructor methods in the host application. In the ShapeAppDyanmicProgrammingModelCSharp...
-
Summit now offers the he ShapeAppDynamicProgrammingModelCSharp_ProxyShim sample which is based both the VSTA 2.0 SDK sample ShapeAppDyanmicProgrammingModelCSharp and the Microsoft endorsed ShapeAppMacroRecordingCSharp-NoRuntime sample. This sample references the VSTA runtime and uses the auto-generated...
-
For VSTA integrations, there are a variety of ways in which the host can load and interact with add-ins. Three styles of interest are SDK, NoRuntime, and ProxyShim. Each style of integration has many pros and cons to consider before deciding on which type is best for a particular host. SDK style: This...
-
For Dynamic Programming Model (DPM) style integrations, when a host item is renamed the corresponding code file in the DPM add-in project maintains its original file name and displays the updated host item name in parentheses next to the file name (see screen shot below). This is accomplished by setting...
-
For DyanmicProgrammingModel (DPM) add-in projects, the file name of the host item code file generally matches the name of the host item. For example: in the SDK sample ShapeAppDynamicProgrammingModelCSharp the host item “Drawing1” would have a corresponding code file named either “Drawing1...
-
When working with a Dynamic Programming Model (DPM) style integration, it is important to keep the DPM add-in project in sync with the associated host document. There are two items which must be kept in sync: the DPM add-in project host item code files and the host's entry point list. There are several...
-
There are many different ways to manage add-ins. Below are some common add-in management styles which can be used alone, combined, or used side by side. 1) Basic: all interactions between the host and add-ins are executed in the Startup and Shutdown methods of the add-in. This is demonstrated in the...
-
When a VSTA add-in is run or debugged from a stand alone or destructive scenario, the life of the host application is tied to the debugging or running session. In order to start the host application the VSTA add-in must know the location of the exe to run. This information is specified in the project...
-
As mentioned in Gary's blog Dependent Assembly Binding Redirect (by version) , it is possible to use a configuration file to change which version of an assembly to use. This can be very helpful in "tight versioning" scenarios (see blog Proxy Versioning Options for Project Templates ) where...
-
As previously noted the isDirty property of a project is for “Microsoft Internal Use Only” and does not actually return valid information. Instead you can determine this by querying for unsaved ProjectItems. The property MacroProjectSaved below demonstrates how to do this. Additional code...
-
My integration journey has come to an end. For my last post, I am going to write about a new way of loading VSTA AddIns: MEF. I have talked about MEF some in my previous posts , and have successfully used both VSTA and MEF together before. This time, I have successfully used MEF to load VSTA AddIns....
-
This is one of my last posts in this series. If you have not yet read my previous posts, here are the links to them: Chapter One , Chapter Two , Chapter Three , Chapter Four . (I would especially read Chapter Three, as that is where I introduce MEF, and I would also read the MEF Overview and the Programming...
-
Q : The VSTA IDE keeps hanging up while debugging when I try to step into code. Why is it doing this? A : The IDE may be hanging because you have left PDB files in your application directory. Even if you are running the Release version, make sure that you have no PDB files in the same directory as your...
-
My integration journey is taking some exciting turns. As always, I would encourage you to read the first three posts in this series ( Chapter One , Chapter Two , and Chapter Three ) before reading this one. I have finally integrated the VSTA IDE into my Contact Manager program. I am going to go through...
-
Q : I have a problem with loading VB add-ins. The method call: ObjectModel::Collection<AddInToken^>^ addInToken = AddInStore::FindAddIn(IEntryPoint::typeid, AddInStoreExtensions::DefaultPipelinePath, FilePath, TypeName); returns an empty collection when called on a dll created using VB. The FilePath...