MicroStationSDK Update12 - VS2017 Professional

I am trying to build the examples in MicroStationSDK Update 12 and receive the following error:

Cannot find the .Net tools location for this toolset.  VS2017_DotNetToolsDir was not defined, and registry lookup failed.

I have verified that VS2017 has the .NET desktop development, desktop development with C++ and Universal Windows Platform development workloads installed.  I am also running the MicroStationSDK command window as Administrator. 

Any suggestions on why I am getting this error?

Thanks,

Larry

Parents
  • Hi Larry,

    just did quick analysis (fulltext search, nothing special ;-):

    VS2017_DotNetToolsDir is defined in VCVarsQueryRegistry2017.mki in this way:

    %if !defined (VS2017_DotNetToolsDir)
        VS2017_DotNetToolsDir= $[@realpath $[@registryread "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\NETFXSDK\4.6/WinSDK-NetFx40Tools", "InstallationFolder"]]
        %if $(VS2017_DotNetToolsDir) == " "
            %error Cannot find the .Net tools location for this toolset. VS2017_DotNetToolsDir was not defined, and registry lookup failed.
        %endif
    %endif

    Based on used registry key, maybe you have not NET 4.6 installed, but only e.g. 4.6.2, so the registry key is not found?

    On my computer, I see these definitions:

    • For 4.6, folder is C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools\
    • For 4.6.1, folder is C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\
    • For 4.6.2, folder is C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\

    I think it's bug, because when SDK requires NET 4.6.2, it should use tools from 4.6.2 and not 4.6.

    If you will confirm there is no registry key for 4.6, I assume you can modify VCVarsQueryRegistry2017 to check for 4.6.2.

    With regards,

      Jan

Reply
  • Hi Larry,

    just did quick analysis (fulltext search, nothing special ;-):

    VS2017_DotNetToolsDir is defined in VCVarsQueryRegistry2017.mki in this way:

    %if !defined (VS2017_DotNetToolsDir)
        VS2017_DotNetToolsDir= $[@realpath $[@registryread "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\NETFXSDK\4.6/WinSDK-NetFx40Tools", "InstallationFolder"]]
        %if $(VS2017_DotNetToolsDir) == " "
            %error Cannot find the .Net tools location for this toolset. VS2017_DotNetToolsDir was not defined, and registry lookup failed.
        %endif
    %endif

    Based on used registry key, maybe you have not NET 4.6 installed, but only e.g. 4.6.2, so the registry key is not found?

    On my computer, I see these definitions:

    • For 4.6, folder is C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools\
    • For 4.6.1, folder is C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\
    • For 4.6.2, folder is C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\

    I think it's bug, because when SDK requires NET 4.6.2, it should use tools from 4.6.2 and not 4.6.

    If you will confirm there is no registry key for 4.6, I assume you can modify VCVarsQueryRegistry2017 to check for 4.6.2.

    With regards,

      Jan

Children