-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
Add runtime references to the devkit component output directory #73461
Conversation
ff713a8
to
a5a1a5c
Compare
<Content Include="$(PkgSystem_Configuration_ConfigurationManager)\lib\netstandard2.0\System.Configuration.ConfigurationManager.dll" Pack="true" PackagePath="content" /> | ||
<Content Include="$(PkgMicrosoft_VisualStudio_Debugger_Contracts)\lib\netstandard2.0\Microsoft.VisualStudio.Debugger.Contracts.dll" Pack="true" PackagePath="content" /> | ||
<Content Include="$(TargetPath)" Pack="true" PackagePath="content" /> | ||
<Content Include="$(PkgMicrosoft_VisualStudio_Telemetry)\lib\netstandard2.0\Microsoft.VisualStudio.Telemetry.dll" Pack="true" PackagePath="content" CopyToOutputDirectory="PreserveNewest" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder if we should move these Content items out of the target (directly to the project).
Then the target can just return all Content items that have "Pack=true". Or perhaps NuGet would include them automatically and we might not need the target at all?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can try that but I'm not sure if the PkgXYZ variables are defined when the content items get evaluated. Will check.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok - that mostly worked. I don't need the target to build and pack the devkit project. But I do need a target to access the content in the LanguageServer.UnitTests project (just calling the build target doesn't get the all the copied items).
9b91749
to
2d228d7
Compare
<Content Include="$(PkgSystem_Configuration_ConfigurationManager)\lib\netstandard2.0\System.Configuration.ConfigurationManager.dll" Pack="true" PackagePath="content" /> | ||
<Content Include="$(PkgMicrosoft_VisualStudio_Debugger_Contracts)\lib\netstandard2.0\Microsoft.VisualStudio.Debugger.Contracts.dll" Pack="true" PackagePath="content" /> | ||
<Content Include="$(TargetPath)" Pack="true" PackagePath="content" /> | ||
<_Content Include="@(Content)" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we only include items such that %(Content.Pack) == "true"
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done!
2d228d7
to
4a88942
Compare
Previously the build output of the project only had the single devkit dll (and none of its required runtime dependencies, like VS telemetry).
This made it hard to test local changes in VSCode - we would have to first run pack on the project (to pull in the dependencies), then unpack the nuget content to a folder and point VSCode to look in that folder for the devkit component.
Now since we include the additional runtime dependencies in the build output, its very easy to test local changes - just point VSCode to the build output directory (which has the updated devkit dll and updated runtime dependencies).