diff options
author | Vance Morrison <vancemorrison@comcast.net> | 2018-03-16 17:26:21 -0700 |
---|---|---|
committer | Vance Morrison <vancemorrison@comcast.net> | 2018-03-16 17:26:21 -0700 |
commit | ebdc98cf6c19e8a4f2de02e28f51048d25cbf70f (patch) | |
tree | 75e9cefd39564dcbaf3d5c924768fab28d424653 /build.cmd | |
parent | f6213ca44958a2868d29f7ec806d24f5e84dde48 (diff) | |
download | coreclr-ebdc98cf6c19e8a4f2de02e28f51048d25cbf70f.tar.gz coreclr-ebdc98cf6c19e8a4f2de02e28f51048d25cbf70f.tar.bz2 coreclr-ebdc98cf6c19e8a4f2de02e28f51048d25cbf70f.zip |
This change make DacTableGen work for VS2017
There was a issue (see https://github.com/dotnet/coreclr/issues/11305) where
a tool used in the CoreCLR build called DacTableGen requires a old version of the
msdia120.dll. The symptom is that this tool would fail with a class not registered errror.
This tool comes from a very old nuget package microsoft.dotnet.buildtools.coreclr, which
we no longer can build easly. Our guidance now is to move tools that are only used in
one repository (like this one) out of nuget packages and simply build them as part of the build.
This change makes a step in that direction. The DacTableGen code actually was already
in the CoreCLR repo, so this change
1. Fixes the source of DacTableGen so that tool no longer needs a com object to be registered
(but it DOES need msdia140.dll to be on the path. This is true for VS2017.
2. Turns on the build of DacTableGen
3. Change the build use the built DacTableGen (unless running on VS2017, in that case we use the
the version in the tool package.
4.) Remove the hack that warns people to register msdia120 (since you don't need to anymore)
There is also an unrelated addition to the docs.
This change should still work for VS2015 (because it falls back to the old DacTableGen in that case)
Finally we should move to using the Linux method of creating the DAC, and so all these tools and
their nuget package can be removed.
Diffstat (limited to 'build.cmd')
-rw-r--r-- | build.cmd | 17 |
1 files changed, 0 insertions, 17 deletions
@@ -12,23 +12,6 @@ set __ThisScriptDir="%~dp0" call "%__ThisScriptDir%"\setup_vs_tools.cmd if NOT '%ERRORLEVEL%' == '0' exit /b 1 -REM Make the work-around to a bug in the microsoft.dotnet.buildtools.coreclr package until it is fixed. -reg query HKEY_CLASSES_ROOT\WOW6432Node\CLSID\{3BFCEA48-620F-4B6B-81F7-B9AF75454C7D}\InprocServer32 > NUL: 2>&1 -if NOT '%ERRORLEVEL%' == '0' ( - echo. - echo.********************************************************************************** - echo.Error: We have detected that the msdia120.dll is not registered. - echo.This is necessary for the build to complete without a Class_Not_Registered error. - echo. - echo.You can fix this by - echo. 1. Launching the "Developer Command Prompt for VS2017" with Administrative privileges - echo. 2. Running regsvr32.exe "%%VSINSTALLDIR%%\Common7\IDE\msdia120.dll" - echo. - echo.This will only need to be done once for the lifetime of the machine. - echo.For more details see: https://github.com/dotnet/coreclr/issues/11305 - exit /b 1 -) - if defined VS150COMNTOOLS ( set "__VSToolsRoot=%VS150COMNTOOLS%" set "__VCToolsRoot=%VS150COMNTOOLS%\..\..\VC\Auxiliary\Build" |