zoukankan      html  css  js  c++  java
  • 转:怎么用VS2005打开VS2008的项目

    找了好久终于找到一个可以完全搞定的解决方案。详细参考下面:

    第一步:
    vs 2005 打开 2008 的方案叫错
    ---------------------------
    Microsoft Visual Studio
    ---------------------------
    The selected file is a solution file, but was created by a newer version of this application and cannot be opened.
    ---------------------------
    OK  
    ---------------------------
    大意是: 这个方案文件是新版本 vs 创建的, 2005 打不开她.

    修改之, 用个文本编辑器打开 sln 文件, 修改头部的两个数字即可:

    Microsoft Visual Studio Solution File, Format Version 10.00
    # Visual Studio 2008
    改为

    Microsoft Visual Studio Solution File, Format Version 9.00
    # Visual Studio 2005

    第二步:
    再次用 vs 2005 打开 sln 文件, 这次 sln 不叫错了, 而是工程文件叫错,
    叫错证据:
    ---------------------------
    Microsoft Visual Studio
    ---------------------------
    Unable to read the project file 'CSharp Code Header Designer.csproj'. 

    E:\X\test.csproj(164,11): The imported project "E:\Microsoft.CSharp.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
    ---------------------------
    OK Cancel  
    ---------------------------

    错误原因: 2005 没有定义宏 MSBuildToolsPath, 改用宏 MSBuildBinPath.

    文本编辑器打开 csproj,
    定位到:
      <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
    修改为:
      <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />

    再次打开, OK 了, 且慢, 工程文件还有几处需要修改:

    Project 节:
    <Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    删除 ToolsVersion="3.5" 改为
    <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">


      <ProductVersion>9.0.30729</ProductVersion>
    改为
      <ProductVersion>8.0.50727</ProductVersion>

    删除
      <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>


    外部引用节删除(这几个 dll 是 2.0 中没有的):
      <Reference Include="System.Core">
      <RequiredTargetFramework>3.5</RequiredTargetFramework>
      </Reference>
      <Reference Include="System.Xml.Linq">
      <RequiredTargetFramework>3.5</RequiredTargetFramework>
      </Reference>
      <Reference Include="System.Data.DataSetExtensions">
      <RequiredTargetFramework>3.5</RequiredTargetFramework>
      </Reference>


    好了, 到此 解决方案和工程文件的修改就完毕了,
    编译之.


    又他妈叫错了, 该死的 using System.Xml.Linq;
    在好些代码中自动加入了 linq 名字空间的 using, 找到, 删除之.

    编译, ok 了.

    1) 手工修改 vs2008 方案文件, 工程文件为 2005 用:
      http://topic.csdn.net/u/20090525/00/36c0c22f-d34f-4afe-8680-d6d66f9cab46.html

    2) 转换VS2008的项目到VS2005版本的小工具
      http://www.zu14.cn/2009/03/26/convert-vs2008-to-vs2005/

  • 相关阅读:
    页面 分页加载图文 微服务架构
    二阶段 三阶段 提交 Paxos
    SignatureDoesNotMatch REST接口 在任何时间、任何地点、任何互联网设备上 在Header中包含签名
    tmp
    base64 hash sha
    对云资源服务商资源读写的架构思考:前端代码走token
    微信小程序存放视频文件到阿里云用到算法js脚本文件
    REST RPC HTTP vs 高性能二进制协议 序列化和通信协议
    角色 演员
    服务端签名后直传 服务端签名直传并设置上传回调
  • 原文地址:https://www.cnblogs.com/diony/p/2029362.html
Copyright © 2011-2022 走看看