zoukankan      html  css  js  c++  java
  • 【手记】解决VS发布asp.net项目报错“该项目中不存在目标GatherAllFilesToPublish”及后续问题

    办法在最后。

    用VS2017打开一个以前用VS2010写的asp.net项目后,设置好发布选项(发布到文件夹),发布的时候报错如图:

    搜索一番,找到的办法是:

    在项目文件(xxx.csproj)中,在 <Import Project="$(MSBuildBinPath)Microsoft.CSharp.targets" /> 上面添加一个 <PropertyGroup> 兄弟节点,添加好后如下:

    ...
      <PropertyGroup>
        <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
        <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)MicrosoftVisualStudiov$(VisualStudioVersion)</VSToolsPath>
      </PropertyGroup>
      <Import Project="$(MSBuildBinPath)Microsoft.CSharp.targets" />
    ...

    完了保存>重新加载项目,再次发布,仍然报一样的错误,重开VS2017依旧,遂打开一个用VS2017新建的asp.net项目文件,对照发现,新项目的 <Import Project=... 这个地方总共有3个,如下:

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

    而老项目的缺中间那个,于是把它誊过去,保存>重加载>发布,可以了。但是,出现了一个警告:

    这是令人不安的,于是仔细对比俩项目的这几个节点,发现老项目的 <Import Project="$(MSBuildExtensionsPath32)... 元素中缺少了最后那个 Condition="false" 属性,加上,发布和警告都解决了。

    总结办法,把老项目的这个地方:

    <Import Project="$(MSBuildBinPath)Microsoft.CSharp.targets" />
    <Import Project="$(MSBuildExtensionsPath32)MicrosoftVisualStudiov10.0WebApplicationsMicrosoft.WebApplication.targets" />

    替换为:

    <PropertyGroup>
      <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
      <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)MicrosoftVisualStudiov$(VisualStudioVersion)</VSToolsPath>
    </PropertyGroup>
    <Import Project="$(MSBuildBinPath)Microsoft.CSharp.targets" />
    <Import Project="$(VSToolsPath)WebApplicationsMicrosoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
    <Import Project="$(MSBuildExtensionsPath32)MicrosoftVisualStudiov10.0WebApplicationsMicrosoft.WebApplication.targets" Condition="false" />

    - EOF -

  • 相关阅读:
    Scala 插入排序
    win10下安装使用mysql-8.0.18
    Autofac注入多数据库(DbContext)
    缓存一致性问题以及方案(一) Redis
    Java编程中,一些好的习惯从一开始就值得坚持
    IDEA项目无法引用本地Class类,引用路径正确但报错标红
    git怎么撤销已经push到远端的commit?
    git的命令大全及如何修改git账号和提交的邮箱和用户名
    renren-fast-vue无法运行相关问题解决办法n ./src/assets/scss/index.scss Module build failed: Error: ENOENT: no su
    VsCode系列(一):下载安装及汉化
  • 原文地址:https://www.cnblogs.com/ahdung/p/9214977.html
Copyright © 2011-2022 走看看