Versions of Target Framework in VS2017 vs. versions of NET Framework is registry











up vote
-1
down vote

favorite












VS2017 has the option Target Framework (project Properties, tab Application) where the default version is set to "NET Framework 4.5.2", the highest is "NET Framework 4.6.1". The registry has similar versions at KEY_LOCAL_MACHINESOFTWAREMicrosoftNET Framework SetupNDP but the list is shorter and the version 4.5.2 is not even included. The regedit.exe on my Windows 10 shows v4FullRelease = 461808, and v4FullVersion = 4.7.03056.



Why is "NET Framework 4.5.2" not listed in the registry? Where does VS2017 take the list of versions from?










share|improve this question






















  • Ask yourself three smaller questions: 1) what is target framework, 2) what is NDP keys, and 3) what's the relationship between the two. You can easily find previous threads on SO for them. Then the answers for you last questions are super clear, that .NET Framework 4.5.2 shouldn't be there, and VS relies on Developer Pack.
    – Lex Li
    Nov 10 at 19:38










  • I revised one of my blog posts, so now it contains enough hints, blog.lextudio.com/…
    – Lex Li
    Nov 10 at 20:06










  • the other threads do not address the question. Your link also does not get to the point. If "NET Framework 4.5.2" is bound by Developer Pack meaning it has to be installed then what is the purpose of the registry key which is supposed to reflect the installed versions?
    – Benny
    Nov 11 at 4:22










  • Why cannot you distinguish compile-time and runtime? Target frameworks are for compile-time while installed SKUs are for runtime.
    – Lex Li
    Nov 11 at 4:32










  • Apparently, when you compile, the referenced assemblies like mscorlib.dll are taken from path tied to Target Framework, so they are used during runtime. The installed Framework as seen in registry has the value for InstallPath which also includes the same assemblies like mscorlib.dll. So the question is when these assemblies (non-CLR) from InstallPath are used?
    – Benny
    Nov 11 at 18:32















up vote
-1
down vote

favorite












VS2017 has the option Target Framework (project Properties, tab Application) where the default version is set to "NET Framework 4.5.2", the highest is "NET Framework 4.6.1". The registry has similar versions at KEY_LOCAL_MACHINESOFTWAREMicrosoftNET Framework SetupNDP but the list is shorter and the version 4.5.2 is not even included. The regedit.exe on my Windows 10 shows v4FullRelease = 461808, and v4FullVersion = 4.7.03056.



Why is "NET Framework 4.5.2" not listed in the registry? Where does VS2017 take the list of versions from?










share|improve this question






















  • Ask yourself three smaller questions: 1) what is target framework, 2) what is NDP keys, and 3) what's the relationship between the two. You can easily find previous threads on SO for them. Then the answers for you last questions are super clear, that .NET Framework 4.5.2 shouldn't be there, and VS relies on Developer Pack.
    – Lex Li
    Nov 10 at 19:38










  • I revised one of my blog posts, so now it contains enough hints, blog.lextudio.com/…
    – Lex Li
    Nov 10 at 20:06










  • the other threads do not address the question. Your link also does not get to the point. If "NET Framework 4.5.2" is bound by Developer Pack meaning it has to be installed then what is the purpose of the registry key which is supposed to reflect the installed versions?
    – Benny
    Nov 11 at 4:22










  • Why cannot you distinguish compile-time and runtime? Target frameworks are for compile-time while installed SKUs are for runtime.
    – Lex Li
    Nov 11 at 4:32










  • Apparently, when you compile, the referenced assemblies like mscorlib.dll are taken from path tied to Target Framework, so they are used during runtime. The installed Framework as seen in registry has the value for InstallPath which also includes the same assemblies like mscorlib.dll. So the question is when these assemblies (non-CLR) from InstallPath are used?
    – Benny
    Nov 11 at 18:32













up vote
-1
down vote

favorite









up vote
-1
down vote

favorite











VS2017 has the option Target Framework (project Properties, tab Application) where the default version is set to "NET Framework 4.5.2", the highest is "NET Framework 4.6.1". The registry has similar versions at KEY_LOCAL_MACHINESOFTWAREMicrosoftNET Framework SetupNDP but the list is shorter and the version 4.5.2 is not even included. The regedit.exe on my Windows 10 shows v4FullRelease = 461808, and v4FullVersion = 4.7.03056.



Why is "NET Framework 4.5.2" not listed in the registry? Where does VS2017 take the list of versions from?










share|improve this question













VS2017 has the option Target Framework (project Properties, tab Application) where the default version is set to "NET Framework 4.5.2", the highest is "NET Framework 4.6.1". The registry has similar versions at KEY_LOCAL_MACHINESOFTWAREMicrosoftNET Framework SetupNDP but the list is shorter and the version 4.5.2 is not even included. The regedit.exe on my Windows 10 shows v4FullRelease = 461808, and v4FullVersion = 4.7.03056.



Why is "NET Framework 4.5.2" not listed in the registry? Where does VS2017 take the list of versions from?







c# visual-studio






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 10 at 18:16









Benny

1




1












  • Ask yourself three smaller questions: 1) what is target framework, 2) what is NDP keys, and 3) what's the relationship between the two. You can easily find previous threads on SO for them. Then the answers for you last questions are super clear, that .NET Framework 4.5.2 shouldn't be there, and VS relies on Developer Pack.
    – Lex Li
    Nov 10 at 19:38










  • I revised one of my blog posts, so now it contains enough hints, blog.lextudio.com/…
    – Lex Li
    Nov 10 at 20:06










  • the other threads do not address the question. Your link also does not get to the point. If "NET Framework 4.5.2" is bound by Developer Pack meaning it has to be installed then what is the purpose of the registry key which is supposed to reflect the installed versions?
    – Benny
    Nov 11 at 4:22










  • Why cannot you distinguish compile-time and runtime? Target frameworks are for compile-time while installed SKUs are for runtime.
    – Lex Li
    Nov 11 at 4:32










  • Apparently, when you compile, the referenced assemblies like mscorlib.dll are taken from path tied to Target Framework, so they are used during runtime. The installed Framework as seen in registry has the value for InstallPath which also includes the same assemblies like mscorlib.dll. So the question is when these assemblies (non-CLR) from InstallPath are used?
    – Benny
    Nov 11 at 18:32


















  • Ask yourself three smaller questions: 1) what is target framework, 2) what is NDP keys, and 3) what's the relationship between the two. You can easily find previous threads on SO for them. Then the answers for you last questions are super clear, that .NET Framework 4.5.2 shouldn't be there, and VS relies on Developer Pack.
    – Lex Li
    Nov 10 at 19:38










  • I revised one of my blog posts, so now it contains enough hints, blog.lextudio.com/…
    – Lex Li
    Nov 10 at 20:06










  • the other threads do not address the question. Your link also does not get to the point. If "NET Framework 4.5.2" is bound by Developer Pack meaning it has to be installed then what is the purpose of the registry key which is supposed to reflect the installed versions?
    – Benny
    Nov 11 at 4:22










  • Why cannot you distinguish compile-time and runtime? Target frameworks are for compile-time while installed SKUs are for runtime.
    – Lex Li
    Nov 11 at 4:32










  • Apparently, when you compile, the referenced assemblies like mscorlib.dll are taken from path tied to Target Framework, so they are used during runtime. The installed Framework as seen in registry has the value for InstallPath which also includes the same assemblies like mscorlib.dll. So the question is when these assemblies (non-CLR) from InstallPath are used?
    – Benny
    Nov 11 at 18:32
















Ask yourself three smaller questions: 1) what is target framework, 2) what is NDP keys, and 3) what's the relationship between the two. You can easily find previous threads on SO for them. Then the answers for you last questions are super clear, that .NET Framework 4.5.2 shouldn't be there, and VS relies on Developer Pack.
– Lex Li
Nov 10 at 19:38




Ask yourself three smaller questions: 1) what is target framework, 2) what is NDP keys, and 3) what's the relationship between the two. You can easily find previous threads on SO for them. Then the answers for you last questions are super clear, that .NET Framework 4.5.2 shouldn't be there, and VS relies on Developer Pack.
– Lex Li
Nov 10 at 19:38












I revised one of my blog posts, so now it contains enough hints, blog.lextudio.com/…
– Lex Li
Nov 10 at 20:06




I revised one of my blog posts, so now it contains enough hints, blog.lextudio.com/…
– Lex Li
Nov 10 at 20:06












the other threads do not address the question. Your link also does not get to the point. If "NET Framework 4.5.2" is bound by Developer Pack meaning it has to be installed then what is the purpose of the registry key which is supposed to reflect the installed versions?
– Benny
Nov 11 at 4:22




the other threads do not address the question. Your link also does not get to the point. If "NET Framework 4.5.2" is bound by Developer Pack meaning it has to be installed then what is the purpose of the registry key which is supposed to reflect the installed versions?
– Benny
Nov 11 at 4:22












Why cannot you distinguish compile-time and runtime? Target frameworks are for compile-time while installed SKUs are for runtime.
– Lex Li
Nov 11 at 4:32




Why cannot you distinguish compile-time and runtime? Target frameworks are for compile-time while installed SKUs are for runtime.
– Lex Li
Nov 11 at 4:32












Apparently, when you compile, the referenced assemblies like mscorlib.dll are taken from path tied to Target Framework, so they are used during runtime. The installed Framework as seen in registry has the value for InstallPath which also includes the same assemblies like mscorlib.dll. So the question is when these assemblies (non-CLR) from InstallPath are used?
– Benny
Nov 11 at 18:32




Apparently, when you compile, the referenced assemblies like mscorlib.dll are taken from path tied to Target Framework, so they are used during runtime. The installed Framework as seen in registry has the value for InstallPath which also includes the same assemblies like mscorlib.dll. So the question is when these assemblies (non-CLR) from InstallPath are used?
– Benny
Nov 11 at 18:32

















active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














 

draft saved


draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53242004%2fversions-of-target-framework-in-vs2017-vs-versions-of-net-framework-is-registry%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown






























active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes
















 

draft saved


draft discarded



















































 


draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53242004%2fversions-of-target-framework-in-vs2017-vs-versions-of-net-framework-is-registry%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Florida Star v. B. J. F.

Danny Elfman

Lugert, Oklahoma