zoukankan      html  css  js  c++  java
  • C#解决方案生成工具(2)

    环境  VS2017 社区版 W10

    Project类 : 在Microsoft.Build.Evaluation命名空间下,可使用Project类分析项目的.csproj文件

    // 实例化对象,参数是项目的.csproj文件的路径

      var proj = new Project("d:/xxx/xxx.csproj");

    // 调用这个方法会更新.csproj文件.

      proj.Save()

    // 如果指定路径,会保存到新路径上,用此办法,可以使用一个.csproj模板来新生成各种项目的.csproj文件

      proj.Save(新的路径)// 将当前.csproj文件保存到新的路径,源有文件不变化.

    // 根据属性名获取属性的值,.使用这个方法获取项目的相关信息,比如项目名,项目路径

      proj.GetPropertyValue("ProjectName")// 获取项目名字

      通过打印所有属性的名值对,可以知道有哪些属性可以使用.

      proj.Properties // 显示有328个属性,几乎需要知道的属性都有.

    使用过程中遇到的问题:

      在实例化一个asp.net webapi项目时,传入.csproj文件后,实例化失败,异常显示找不到 Microsoft.WebApplication.targets 这个东西.

      对着.csproj文件查找之后,认为有三处与之关相的节点:

        <Project ToolsVersion="12.0" // 不同VS版本建立的项目不同,另外项目类型不同时也不一样.vs2017建的DLL项目值显示是15

        // 以下两个节点指示了Microsoft.WebApplication.targets引用路径,看来问题原因是找不到这个路径下的这个东西

        <Import Project="$(VSToolsPath)WebApplicationsMicrosoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
        <Import Project="$(MSBuildExtensionsPath32)MicrosoftVisualStudiov10.0WebApplicationsMicrosoft.WebApplication.targets" Condition="false" />

      由于未成分析出节点属性意义,所以没想过修改节点属性值来解决问题.通过在本机查找Microsoft.WebApplication.targets文件,找到两个目录下有.

        // VS编译工具目录 v15

        C:Program Files (x86)MSBuildMicrosoftVisualStudiov14.0

        // VS2017COMMUNITY 编译工具目录 15

        C:Program Files (x86)Microsoft Visual Studio2017CommunityMSBuildMicrosoftVisualStudiov15.0

        第2个目录是安装VS2017的目录,第1个目录不清楚.也许这和安装VS的时候有关系.异常信息显示为找不到Microsoft.WebApplication.targets的出错路径是第1个目录下找不到.看来编译工具默认是

      找第1个路径下的V15版本下的这种文件,然后发现没找到.因为本来就没有.

      最后解决办法时,将第2个目录下的这个WebApplications文件夹复制到第1个目录下,但是对应的V15版本目录下.即:

      C:Program Files (x86)MSBuildMicrosoftVisualStudiov15.0  然后会发现没有异常了.实例化成功.

  • 相关阅读:
    SharePoint 2013 商务智能报表发布
    sharepoint designer web 服务器似乎没有安装microsoft sharepoint foundation
    SharePoint 2013 Designer系列之数据视图
    SharePoint 2013 Designer系列之数据视图筛选
    SharePoint 2013 Designer系列之自定义列表表单
    SharePoint 2013 入门教程之创建及修改母版页
    SharePoint 2013 入门教程之创建页面布局及页面
    SharePoint 2010 级联下拉列表 (Cascading DropDownList)
    使用SharePoint Designer定制开发专家库系统实例!
    PL/SQL Developer 建立远程连接数据库的配置 和安装包+汉化包+注册机
  • 原文地址:https://www.cnblogs.com/mirrortom/p/8451947.html
Copyright © 2011-2022 走看看