This project is read-only.

Visual Studio Templates

Mar 1, 2008 at 8:09 PM
I ran into a few issues when using the Visual Studio templates and I figured some people may appreciate the information.

In the Untrusted plugin module there is an extra "After Build" target that has been added to the project file that causes plugin binaries to be copied to the Shell Plugin folder. In the template the Destination points to "..\..\Shell\$(OutDir)" but it should actually be "..\..\Shell\Shell\$(OutDir)".

Also there are numerous references that are not valid because they are looking for a "../../lib" folder that is not created by the template. Is it intentional that sometimes the folder name "lib" is used and sometimes "libs" is used?
The CAB dlls are referenced in yet another folder. I just changed the hint path in the .csproj file to look for dlls in "../../lib" and copied all the dlls there.
The only other problem I found was the project reference to Shell.Interface. I don't know how to resolve this issue other than removing and replacing the reference after creating the plug in.
Mar 5, 2008 at 12:59 PM
Hi there,

Actually, the templates work fine but you need to create your module project under the Modules directory. All the relative paths assume that you have done so. Have a look at the existing modules that come with the shell and create yours in that same directory.

Mar 5, 2008 at 3:45 PM
Hi Kent,

I guess we must be doing something differently. When I use the Shell Template to create a whole new project it creates folder strucuture like:

When I create a module in the empty Modules folder using the "untrusted plugin" template, the After Build target in the project file copies the plugins to the folder \MyApp\Shell\Plugins instead of \MyApp\Shell\Shell\Plugins.
I was able to reproduce this behaviour a number of times.

I'm not sure what I'm doing wrong to get this behaviour.

Mar 5, 2008 at 6:36 PM
Apologies, I misunderstood. There is a template for creating the solution but it is inconsistent with the original code base. The project templates (create trusted/untrusted module) are based on the original code base, not the code base created by the solution template. My recommendation: ignore the solution template for now. Instead, take a copy of the source tree (that's all it will give you, afterall) and then run the project templates against that copy.