Code signing a VSIX package targeting multiple Visual Studio versions
Visual Studio Extensibility (VSX)
by Carlos Quintero
2y ago
You know that I am such a big fan of targeting multiple Visual Studio versions with the same VSIX file that I wrote an article for MSDN Magazine explaining the approach to target  from Visual Studio 2012 to Visual Studio 2017. In that article I didn’t explain how to code sign such VSIX file to work with multiple Visual Studio versions but this week I have got a (personal) code signing certificate. First things first, if you don’t code sign your VSIX file, the VSIX installer shows that the digital signature is none: To code sign a vsix file, you can’t use the regular signtool.exe tool of ..read more
Visit website
The VisualStudio-TestHost project to execute interactive UI tests in Visual Studio
Visual Studio Extensibility (VSX)
by Carlos Quintero
2y ago
I started with automated tests for my MZ-Tools extension early in the development of version 7.0 (then an add-in, not a package), ten years ago, around the year 2008 or so. At that time Visual Studio 2008 provided a Visual Studio TestHost dll (even with source code, if I remember correctly) to run automated tests of Visual Studio packages using the own Visual Studio. I remember that it was so painful to use that approach (crashes, hangings, etc.) that after months of investment I threw all the stuff and started to build my own test framework infrastructure and test runner: (yep, I have 3,354 a ..read more
Visit website
Two videos about building High Performance Extensions by Omer Raviv
Visual Studio Extensibility (VSX)
by Carlos Quintero
2y ago
Omer Raviv, author of the OzCode extension for Visual Studio, has recorded two videos with Robert Green on Channel 9 about building high performance extensions for Visual Studio. If creating extensions for Visual Studio is already tricky, creating high performance extensions is quite difficult and Omer has some advices and techniques about it. The first video is this one: Building High Performance Extensions Part 1 And the second one is this: Building High Performance Extensions Part 2 ..read more
Visit website
BUG: EnvDTE.CodeElement.GetStartPoint(vsCMPartBody) / GetEndPoint(vsCMPartBody) throw COMException for expression-bodied methods and properties
Visual Studio Extensibility (VSX)
by Carlos Quintero
2y ago
Some days ago I got a bug report from a user that was using the new expression-bodied methods and properties introduced by C# 6.0, which have the following form: public class Class1 { public int Function1() => 0; public int Property1 => 0; } After some investigation, it turned out that the problem was in the calls to get the start/end points of the body of the EnvDTE.CodeElement representing them: codeElement.GetStartPoint(vsCMPartBody) codeElement.GetEndPoint(vsCMPartBody) For those kind of code elements, the code model throws COMException (not even NotImplementedException), whe ..read more
Visit website
MSDN Magazine article: Creating Extensions for Multiple Visual Studio Versions
Visual Studio Extensibility (VSX)
by Carlos Quintero
2y ago
Back in April or May I started to write a post on this blog about creating extensions for multiple Visual Studio versions. I have been struggling to support multiple versions of Visual Studio with my MZ-Tools add-in since Visual Studio .NET (2002) / 2003, and other IDEs such as VB6/VB5/VBA before that. So, I know how tricky it can be to share as much code as possible between versions, and using a single binary dll / setup if possible. It seems that I am not the only one wanting to target multiple Visual Studio versions with a single vsix package because I have seen lots of questions in the for ..read more
Visit website
About the new privateregistry.bin file of Visual Studio 2017
Visual Studio Extensibility (VSX)
by Carlos Quintero
2y ago
As I explained in the post Some implications of the new modular setup of Visual Studio 2017 for VSX developers, Visual Studio 2017 introduces among others two significant changes compared to Visual Studio 2015: It allows several Visual Studio editions (Community, Professional, Enterprise) to coexist at the same time on the same machine. For VSX developers, this means that Visual Studio 2017 installations now use different folders on disk, and instance Ids. It uses its own private registry. This post is about this. From Visual Studio .NET 2002 to Visual Studio 2008, Visual Studio used tw ..read more
Visit website
Sample code and utilities to get installed Visual Studio 2017 editions programmatically
Visual Studio Extensibility (VSX)
by Carlos Quintero
2y ago
As I explained in the post Some implications of the new modular setup of Visual Studio 2017 for VSX developers, Visual Studio 2017 has changed all that you knew about installations of Visual Studio. In this episode of Channel 9, Art Leonard explains to Robert Green the internals of this re-architecture of Visual Studio: The use of a private registry file causes that if you want to know programmatically the installed editions of Visual Studio 2017, the old approaches don’t work. For example, my article HOWTO: Detect installed Visual Studio editions, packages or service packs is ..read more
Visit website
Building a VSIX extension with the Visual Studio 2017 Build Tools
Visual Studio Extensibility (VSX)
by Carlos Quintero
2y ago
As I explained in the post Migrating the build of a VSIX project to a build server if you are a solo developer, I am taking the steps to build my MZ-Tools extension on a build/release server. As part of that process, I realized than rather than installing Visual Studio 2017 Community edition on the server, I could use the Visual Studio 2017 Build Tools that were thought, well, for build servers that don’t need the overhead of a Visual Studio 2017 installation. They are a lightweight version of Visual Studio 2017 without the IDE (devenv.exe executable). They can be used to build either managed ..read more
Visit website
Microsoft, the Visual Studio Shells and the old versions
Visual Studio Extensibility (VSX)
by Carlos Quintero
2y ago
Visual Studio 2008 started to offer a new form of extensibility: a whole IDE for your app! That is, reusing the core of the Visual Studio IDE for your own tool instead of reinventing the wheel creating a new IDE from scratch. This is named Visual Studio Shell and there are two flavors: the “Isolated Shell“, where your app has its own instance of Visual Studio Shell even if the Visual Studio IDE is already installed (because the user is a developer); and the “Integrated Shell“, where if the Visual Studio IDE is already installed, your Visual Studio Shell integrates with it (otherwise is install ..read more
Visit website
The strange case of VB6 getting “access denied” building ActiveX DLL running with Registry virtualization
Visual Studio Extensibility (VSX)
by Carlos Quintero
2y ago
This is one of those posts that I write mainly for myself in the future, but that maybe can be useful for others developers that want or need to run Visual Basic 6.0 without admin rights on Windows 7 or Windows 10. One of the flavors of my MZ-Tools add-in is for Visual Basic 6.0 (yes, there is still quite a few people using it). Visual Basic 6.0 was created and used heavily in a time (Windows 98-Windows XP) when every Windows user was an administrator, so it was not a problem that when building an ActiveX DLL project some registry entries were added to the HKEY_CLASSES_ROOT (HKCR) registr ..read more
Visit website

Follow Visual Studio Extensibility (VSX) on Feedspot

Continue with Google
Continue with Apple
OR