microsoft / vstest

Visual Studio Test Platform is the runner and engine that powers test explorer and vstest.console.
MIT License
882 stars 317 forks source link

VSTest is not on the probing path, so NGEN will fail for any component dependent on their binariies #330

Closed tannergooding closed 6 years ago

tannergooding commented 7 years ago

This will require a two part fix.

First, the extension needs to be installed into a well known location (currently it gets installed into Common7\IDE\Extensions\<random-name>). You will need to add the following properties to your VSIX csproj:

<ExtensionInstallationRoot>CommonExtensions</ExtensionInstallationRoot>
<ExtensionInstallationFolder>SomeFolderPath</ExtensionInstallationFolder>

For an example, see the Live Unit Testing setup here: https://github.com/dotnet/testimpact/blob/master/src/VisualStudio/VisualStudioSetup/VisualStudioSetup.csproj#L26 Our settings cause us to be installed to CommonExtensions\Microsoft\ManagedLanguages\VBCSharp\LiveUnitTesting.

The second is to add the well known install folder to the DevEnv probing path: https://devdiv.visualstudio.com/DevDiv/_git/VS?path=%2Fsrc%2Fappid%2Fdevenv%2Fstub%2Fdevenv.urt.config.tt&version=GBdev%2Fvslsnap%2Finsertions%2Fd15prerel.20170106175543&_a=contents&line=61&lineStyle=plain&lineEnd=62&lineStartColumn=1&lineEndColumn=1

tannergooding commented 7 years ago

FYI. @dotnet/testimpact

codito commented 7 years ago

@tannergooding @ManishJayaswal I assume there isn't a customer impact for this issue. We can take it post RTM. Is my understanding correct?

/cc: @sbaid @pvlakshm

pvlakshm commented 6 years ago

Closing this; we are now way beyond the point where such a change may be considered.