-
Notifications
You must be signed in to change notification settings - Fork 4k
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 'Microsoft.DiaSymReader.Native.*.dll' to the VisualStudioSetup VSIX #16273
Conversation
More detailed explanation of dependency: If a project is compiled with /deterministic+ and /debug+ (legacy pdb format), then these dlls must be present in the same folder as Microsoft.CodeAnalysis.dll. Today, they only live in the MSBuild folder. In order to be able to call Emit on such projects using the IDE compiler, these files must exist in the IDE package folder. |
👍 |
Also, @srivatsn for ask mode approval.
|
@tannergooding and @KevinH-MS: just curious: LUT does do Emit calls in-proc to build updated binaries? You don't always do the build through MSBuild? |
@tannergooding: why wasn't this done by adding the Microsoft.DiaSymReader.Native to the "packages to include" list earlier in the project file? |
@jasonmalinowski We actually do our Emit call in the Roslyn OOP process (piggy-backing on the Compilations used by Diagnostic analysis), but that process loads its dlls from the language services extension folder, and these dlls need to live SxS in order for them to get picked up by the loader. |
@jasonmalinowski, I had no clue if If |
@tannergooding: Did you try it? :-) It should work, since how that entire MSBuild magic works is to collect runtime outputs. Outside the purview of the build task it doesn't know the difference. |
@jasonmalinowski, it is not working for DiaSymReader.Native |
@tannergooding Grumble. Odd. Thanks for trying though. |
@jasonmalinowski, this probably needs further investigation, since the compilers extension project references the package the way you indicated. |
FYI. @KevinH-MS, @tmat, @jaredpar, @Pilchie, @ManishJayaswal, @jasonmalinowski, @dotnet/testimpact
This is required for determinism to be supported in design-time builds. Live Unit Testing currently requires this (@KevinH-MS is probably the best person to delve into the finer details about the build system here, if required).