【问题标题】:"Project Target Framework Not Installed" when opening a web site in Visual Studio在 Visual Studio 中打开网站时出现“未安装项目目标框架”
【发布时间】:2017-01-14 15:29:42
【问题描述】:

我想在 Visual Studio 2013 中打开一个在 IIS 8.5 上运行的 ASP.NET 网站。我转到 打开 → 网站... 并导航到 Web 应用程序的文件夹。当我尝试打开它时,我收到一条错误消息,提示

Web 项目“FolderName”的目标是“.NETFramework,Version=v2.0”,这台机器上没有安装它。要继续,请在下面选择一个选项。

该网站之前从未在 Visual Studio 中打开过,因此没有与之关联的项目——没有用于定义目标框架的 .csproj 文件。该目录包含一个 .aspx 文件、一个 aspx.cs 文件、一个 aspx.designer.cs 文件和一个 web.config 文件。这些都没有定义任何目标框架。

还有一个 bin 目录,其中包含一个 .pdb、一个 .dll 和一个 .dll.config。 .dll.config 文件是一个 XML 文件,确实定义了一个目标框架,但版本是 4.5。以下是文件的全部内容:

<?xml version="1.0" encoding="utf-8"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
  </system.web>
</configuration>

那么,Visual Studio 从哪里确定它的目标是 .NET 2.0?

我唯一能想到的是,在同一台机器上,有一个 Visual Studio 项目,其根文件夹名称与 IIS Web 应用程序相同(与 IIS 文件不同的目录树分支中的子文件夹名称相同) .实际上,Web 应用程序是通过从 VS 项目中复制代码来创建的。但是 VS 项目的 .csproj 文件针对 .NET 4.5:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    [...] 
    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
    [...] 
  </PropertyGroup>

另外,打开这个项目是没有问题的,所以显然 VS 并不认为它针对的是未安装的框架。执行网络应用程序也没有任何问题。

【问题讨论】:

  • 顺便说一句,我决定冒险点击OK,并选择第一个单选按钮Change the target to .NET Framework 4.5。但它在改变什么?目标从哪里开始定义为 .NET 2.0,又在哪里更改为定义为 .NET 4.5? VS 在我的个人资料的 Documents 中创建了一个名为 Visual Studio 2013\Projects\localhost_57273 的临时项目目录,但是这个目录是空的。

标签: asp.net visual-studio iis


【解决方案1】:

我遇到了同样的问题,但对我来说,即使我已经安装并使用 .NET Framework Setup Verification Tool 进行了验证,但框架版本 4.6.1 却丢失了

我让它改变我的一个项目的目标,然后查看下拉列表中的目标框架。该列表中缺少版本 4.6.1。 我使用了该列表中的“安装其他框架”选项,并使用了其中的一个安装程序。就我而言,我需要开发人员包。 之后,所有项目都加载正常。

【讨论】:

    最近更新 更多