-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wiki missing info - Obtaining the Concord API headers #72
Comments
I'm working through how to get set up for Concord extensibility from scratch. Here's my experience so far. Apologies for any silly mistakes - I'm kinda just stumbling my way through. Once I'm done my hope is that some of this process can make it into the wiki. I can create a pull request if desired. Workflow 1 - Visual Studio Extensibility workload
Workflow 2 - Nuget
To be continuedI'll add another post when I get further. |
Actually, I think that's it for getting the headers and libs. Lots more to the process, but not particularly relevant here. |
Hi @akbyrd, I am just getting back from vacation. The documentation that you linked to is incorrect for VS 2022 -- Concord headers and libs are now only available via nuget. For your 'Workflow 2' questions:
I don't know why you would be seeing an error about |
Installing the Microsoft.VSSDK.Debugger.VSDConfigTool adds the vsd to the project. It has its content type set to XML Data Generator Tool. This causes it to be run through xsd.exe which relies on CppCodeProvider.dll to be in the GAC. If you've never installed an older version of VS or manually added that dll to the GAC then it won't be there and it causes a build error. |
Are you seeing this in the samples? Or just your own project? Are you sure that it the package reference to VSDConfigTool that adds it to the project and not the project file itself? I don't see anything in the package that would add that. The sample projects do include that file as a |
My own project. VS 2019 16.11.8. I can repro it by making a new solution, grabbing the nuget package, and compiling. But it'll only happen if you've never installed VS 2017 or earlier, so probably easier to repro in a VM. It's an issue with the nuget package I assume. Not this repo. I've attached a project following those steps. Here's the package manager output.
|
Got it. The nuget package manager apparently has a behavior that I wasn't aware of where it will copy and add an Since there is a lot of discussion in this issue about various things I am breaking out this bug into a new issue: #74 |
I grabbed 2022 to start testing my extension against it. I noticed the headers, lib, and one of the targets files are still included with the VSSDK. Are you saying that shouldn't be there anymore or that it will go away in the future? |
Well, there was a plan to remove it that I thought happened, but apparently only the work to remove the .NET reference assemblies actually happened. I am not sure what the future is for it. I will update the docs accordingly, but I would recommend sticking with nuget packages unless you have an existing project that you don't want to touch. |
Sounds good. Thank you. |
This page mentions 2 ways to get the headers and libs: the Visual Studio Extensibility workload and nuget.
https://github.com/Microsoft/ConcordExtensibilitySamples/wiki/Obtaining-the-Concord-API-headers,-libraries,-etc
I'm using the first method and that page doesn't describe how to actually reference the headers and libs from a C++ project. I can find the files in paths below, but they are not part of the set of resolved paths in a default C++ project.
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VSSDK\VisualStudioIntegration\Common\Inc
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VSSDK\VisualStudioIntegration\Common\Lib\x64
etc
Nor do I see any new macros that include VSSDK or VisualStudioIntegration paths. It's not clear to me what the intended way to get at those files is. I can use
$(VsInstallDir)
and manually add the header and lib dirs I need. Is that the intended way?Additional Include Directories:
$(VSInstallDir)VSSDK\VisualStudioIntegration\Common\Inc
Additional Library Directories:
$(VSInstallDir)VSSDK\VisualStudioIntegration\Common\Lib\$(PlatformTarget)
The text was updated successfully, but these errors were encountered: