.NET Framework的目标版本不匹配,启动条件(Target Version of the

2019-08-19 02:08发布

我有我建立于2010年,它引用通过COM一个C ++项目,这也是解决方案的一部分VS C#项目。 上周五,我做了一个成功的建立,改变了一行代码,由另一个构建,和我开始有关.NET错误。

.NET Framework的项目目标版本不匹配的.NET Framework启动条件版本”的.NET Framework 3.5' 。 更新版本的.NET Framework启动条件相匹配的高级编译选项对话框(VB)或应用程序页面(C#,F#)的.NET Framework的目标版本。

  • 项目 - >属性 - >应用程序 - >目标框架(在这两个调试和发布各个项目)
  • 项目 - >属性 - >发布 - >先决条件(确认.NET 3.5和Windows安装程序3.1)
  • 设置 - >启动条件 - > .NET框架
  • 设置 - >属性 - >前提条件

我还审查了vdproj代码为我安装,确认启动条件.NET 3.5:

"ComponentsUrl" = "8:"
"Items"
{
    "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Net.Framework.3.5.SP1"
    {
        "Name" = "8:.NET Framework 3.5 SP1"
        "ProductCode" = "8:Microsoft.Net.Framework.3.5.SP1"
    }
    "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Windows.Installer.3.1"
    {
        "Name" = "8:Windows Installer 3.1"
        "ProductCode" = "8:Microsoft.Windows.Installer.3.1"
    }
}

"ComponentsUrl" = "8:"
"Items"
{
     "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Net.Framework.3.5.SP1"
     {
         "Name" = "8:.NET Framework 3.5 SP1"
         "ProductCode" = "8:Microsoft.Net.Framework.3.5.SP1"
     }
     "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Windows.Installer.3.1"
     {
         "Name" = "8:Windows Installer 3.1"
         "ProductCode" = "8:Microsoft.Windows.Installer.3.1"
     }
}

"LaunchCondition"
{
    "{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_799EF2A78D074B669D0B30310FD56A67"
    {
        "Name" = "8:.NET Framework"
        "Message" = "8:[VSDNETMSG]"
        "FrameworkVersion" = "8:.NETFramework,Version=v3.5"
        "AllowLaterVersions" = "11:FALSE"
        "InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=131000"
    }
}

因为我建立一个既x86和x64编译器,我有两个安装项目。 第二个,为x86处理器,没有得到的.NET错误。 我比较其与本vdproj的代码,它看起来是一样的。

我发现在这个问题上几条线,其中包括一个非常好的一个位置 ,但他们都没有帮我解决这个问题。 任何的意见都将会有帮助。

编辑

我改变了一切,以.NET 4.0只是为了看它是否发挥了作用,并且该项目成功地建立。 我改了回来,并再次给我的.NET版本错误。 我检查了vdproj文件的任何“4.0”的提法,并且只发现它的AspNetVersion,这也发生在工程安装x86版本。

"AspNetVersion" = "8:4.0.30319.0"

我需要使用.NET 3.5发布,所以这只是一个锻炼,看看是否改变的版本到别的东西,回来就解决了问题。

Answer 1:

要通过UI(不是一个文本编辑器)改变它。 来自这里 。

1)选择安装项目

2)在解决方案浏览器或解决方案导航点击图标在面板“启动条件编辑器”(在VS2010其用望远镜的图标的顶部,在VS2015和VS2017图标是纸与在它前面的过滤器的片材)。

3)在启动条件,选择在‘属性’右边的“Net框架”选择‘版本’,你会看到一个下拉。 改变框架的目标框架。

4)建立和安装。

然后,如果您收到类似以下内容的消息:

警告:在.NET Framework启动条件” .NET框架4' 的版本不匹配选定的.NET Framework引导程序包。 更新.NET Framework启动条件相匹配的先决条件对话框中选择的.NET Framework的版本。

执行以下步骤:

1)右键单击安装项目,然后单击“属性”。

2)点击“先决条件”按钮。

3)根据需要更改。

编辑:更新了不同版本的VS的启动条件编辑器图标说明,按该意见。



Answer 2:

事实证明,C ++代码也与.NET出于某种原因有关。 我用这个文章来帮助我改变C ++ .NET版本为4.0〜3.5。 基本步骤

  1. 打开C ++项目vcxproj在文本编辑器
  2. 发现<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
    • 这可能需要根据全局的PropertyGroup要创建
  3. 更改4.0〜3.5
  4. 打开VS项目
  5. 右键单击C ++项目,然后选择属性
  6. 选择常用属性并确认该版本是3.5
  7. 选择配置属性 - >常规
  8. 确保平台工具集设置为V90


Answer 3:

作为该项目已经从2008年转换为2010有同样的问题。

要更改引导程序,我打开的.csproj,并在其中手动删除实例从3.5:

<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
  <Visible>False</Visible>
  <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
  <Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
  <Visible>False</Visible>
  <ProductName>.NET Framework 3.5 SP1</ProductName>
  <Install>false</Install>
</BootstrapperPackage>

另外,我发现,你可以右键单击安装和部署项目,命中属性,进入的先决条件,并选择正确的.NET框架。

这是很难找到它,你必须点击该按钮的先决条件。



Answer 4:

我也面临着同样的issue.I提出,目标框架的工作是不同的,在所有places.U可以确认在下面提到的地方相同的框架应selected.I正在使用VS2015是一个错误。 将1 - 右键点击项目 - >属性 - >程序 - >我的目标框架(.NET框架4)你可以根据你的项目选择。 将2 - 右键单击​​安装项目 - >属性 - > prerequisites->选择Microsoft框架4(x86和x64)的ü这取决于您定位的框架。 将3 - 右键单击​​安装项目 - >点击查看 - >启动条件 - > .NET框架 - >右键属性 - >选择> .NET框架4,我用Windows服务工作,面对这个问题,同时从VS 2010更新到2015.Hope它会帮助你。



文章来源: Target Version of the .NET Framework does not match Launch Condition