在Visual Studio中打开网站时“未安装项目目标框架”

时间:2015-09-28 23:14:01

标签: asp.net visual-studio iis

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

  

Web项目“FolderName”的目标是“.NETFramework,Version = v2.0”,它未安装在此计算机上。要继续,请选择以下选项。

enter image description here

此网站之前从未在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并不认为它是针对未安装的框架。执行网络应用程序也没有任何问题。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,但对我来说,即使我安装了框架版本4.6.1并使用.NET Framework Setup Verification Tool

进行了验证,它仍然缺失

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

screenshot