Weird issues with multiple C# plugin projects, debugging goes to different project
-
The past few weeks I’ve created three different C# plugin projects for testing and trying things out. But now I encounter a weird problem when debugging the newest project.
I’ve installed the template in .\Documents\Visual Studio 2019\Templates\ProjectTemplates\Visual C#\NppPlugin0.95.00.zip and then create a new project based on that template.
Btw an aside note; in the Visual Studio create new project window, using the text search I can’t find a “notepad” or “NPP” template. Only when I clear all three filters (All Languages, All Platforms, All Project Types) only then the template shows at the bottom of the list.
But anyway when I debug the Main.cs of my most recent project, Visual Studio somehow goes to the
Main.csof my very first project, and that other project wasn’t even opened in Visual Studio. I suspect that maybe it has to do with this line inAssemblyInfo.cs// The following GUID is for the ID of the typelib if this project is exposed to COM [assembly: Guid("31492674-6fe0-485c-91f0-2e17244588ff")]Am I correct in assuming this needs to be changed to a random unique Guid for every new project? If so, is it possible to automate this from the template somehow?
Still, after I change the Guid the problem still occurs. It might also be a Namespace related issue, because the
Main.csuses the namespaceKbg.NppPluginNETfrom the template, but the default namespace (Project Properties -> Application -> Default namespaces) is set to the project name.Any ideas on how to solve this debugging issue?
-
(why can’t I edit my post after three minutes?) Anyway I forgot to mention that when debugging the
Stack Framedropdownlist also shows this other project:CSVLint.dll!Kgb.NppPluginNET.Main.CommandMenuInit() Line 39 CSVLint.dll!Kgb.NppPluginNET.Main.UnmanagedExports.setInfo(Kgb.NppPluginNET.PluginInfrastructure.NppData notepadPlusData line 21) -
The mentioned GUID is relevant for projects that create COM objects.
In this case it MUST have a unique ID, but as far as I understand the C# template, this is not something that is exported by default.
Namespaces must be unique per project and are basically the upper hierarchy of classes used.The part that I suspect is the problem, please keep in mind. that I am not a C# developer, is the assembly manifests.
My understanding is that these define how the assembly is loaded into the Global Assembly Cache. -
@Bas-de-Reuver said in Weird issues with multiple C# plugin projects, debugging goes to different project:
why can’t I edit my post after three minutes?
Because those are the rules here.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login