在编译.Net程序集时,有什么方法可以访问用于TargetFrameworkVersion和/或TargetFrameworkProfile的值吗?
我正在谈论的值是包含项目文件的值
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<OtherStuff>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>Client</TargetFrameworkProfile>
<OtherStuff>
</PropertyGroup>
<OtherStuff>
</OtherStuff>
</Project>
Run Code Online (Sandbox Code Playgroud)
基本上我想知道编译程序集时框架的目标版本是什么,以及可能的目标框架配置文件.
我不是在谈论当前加载的CLR版本,Environment.Version不是我想要的.
理想情况下,解决方案将使用System.Reflection,但如果我必须采用其他方法,我会.
我正在尝试构建一个引用第三方SlingshotClient.dll的项目.该项目在其他开发人员工作站上构建良好.但是,我收到以下错误.我可以想象的一个不同之处是我的问题是我的机器上还安装了VS 2012和.NET Frameworks 4.5.我相信其他可以成功构建它的开发人员,没有安装它们.
C:\ Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1578,5):警告MSB3274:主要参考"SlingshotClient,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = bb5a8745472e181a,processorArchitecture = MSIL"无法解析,因为它是针对".NETFramework,Version = v4.5"框架构建的.这是比当前目标框架".NETFramework,Version = v4.0"更高的版本.
该错误似乎是说我们的项目针对框架版本4.0(这是正确的),但引用的SlingshotClient.dll是针对框架版本4.5构建的.当我查看诈骗程序中的SlingshotClient.dll时,它在我看来该程序集是针对框架版本4.0构建的

假设系统安装了.NET 4.0和.NET 4.5.
是否可以从针对.NET 4.0编写的程序集中加载和使用.NET 4.5程序集?
简单地说,我可以从.NET 4.0代码调用Assembly.Load来加载.NET 4.5目标程序集吗?