You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What about a rawR function that checks for the installed .NET framework? The C# code could be based on
conststringsubkey=@"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\";using(varndpKey=RegistryKey.OpenBaseKey(RegistryHive.LocalMachine,RegistryView.Registry32).OpenSubKey(subkey)){if(ndpKey!=null&&ndpKey.GetValue("Release")!=null){Console.WriteLine($".NET Framework Version: {CheckFor45PlusVersion((int)ndpKey.GetValue("Release"))}");}else{Console.WriteLine(".NET Framework Version 4.5 or later is not detected.");}}// Checking the version using >= enables forward compatibility.staticstringCheckFor45PlusVersion(intreleaseKey){if(releaseKey>=528040)return"4.8 or later";if(releaseKey>=461808)return"4.7.2";if(releaseKey>=461308)return"4.7.1";if(releaseKey>=460798)return"4.7";if(releaseKey>=394802)return"4.6.2";if(releaseKey>=394254)return"4.6.1";if(releaseKey>=393295)return"4.6";if(releaseKey>=379893)return"4.5.2";if(releaseKey>=378675)return"4.5.1";if(releaseKey>=378389)return"4.5";// This code should never execute. A non-null release key should mean// that 4.5 or later is installed.return"No 4.5 or later version detected";}
We would just need to write into a tmp file instead to the console. The R function could be something like dotNetInfo() aligned with sessionInfo() output. Or we directly check if >= 4.5.1 and return a logical, but then the function should be named is.NET() and contain a parameter named release and we would set it to 4.5.1 as default. This would also be very useful for CI, since we probably can't request specific .NET version on the test infrastructure.
What about a
rawR
function that checks for the installed .NET framework? TheC#
code could be based onas shown here by Microsoft.
We would just need to write into a tmp file instead to the console. The R function could be something like
dotNetInfo()
aligned withsessionInfo()
output. Or we directly check if >= 4.5.1 and return alogical
, but then the function should be namedis.NET()
and contain a parameter namedrelease
and we would set it to 4.5.1 as default. This would also be very useful for CI, since we probably can't request specific .NET version on the test infrastructure.What do you think, @cpanse ?
The text was updated successfully, but these errors were encountered: