c# net 无法发布项目,在 visual studio 2015 年构建成功

c# net can't publish project, build succeeded in visual studio 2015

我以前读过类似/相同的问题。但没有解决方案对我有用。

我试图将网络服务部署到目标文件夹,但在构建成功后失败了。错误消息和问题与

相同
       3>------ Publish started: Project: Webservice_ex, Configuration: Release Any CPU ------
3>Connecting to D:\Deploys...
3>Project "Webservice_ex.csproj" (GatherAllFilesToPublish target(s)):
3>    Building with tools version "14.0".
3>    Target "ValidateMSBuildToolsVersion" skipped. Previously built unsuccessfully.
3>Done building project "Webservice_ex.csproj" -- FAILED.
3>
========== Build: 2 succeeded, 0 failed, 1 up-to-date, 0 skipped ==========
========== Publish: 0 succeeded, 1 failed, 0 skipped ==========

其他问题的区别在于,我无法通过降级 Microsoft.Net.Compilers 解决问题,因为我没有安装该软件包。我在一个 sln 中有两个项目,而 on 只是一个引用项目。

有人可以帮助我吗?

更新

详细输出是这样说的(摘录):

1>  There was a conflict between "System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" and "System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes".
1>      "System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" was chosen because it was primary and "System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes" was not.
1>      References which depend on "System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" [C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.

[...]

Task "Error" skipped, due to false condition; ('$(OutDir)' != '' and !HasTrailingSlash('$(OutDir)')) was evaluated as ('bin\' != '' and !HasTrailingSlash('bin\')).

请启用构建输出的详细日志记录,它将给出发布失败的确切错误。

在我的例子中,文件名超过了 256 个字符,MSBuild 不喜欢它。

按照以下步骤在构建输出中启用详细日志记录

更改构建日志中包含的信息量

  • 在菜单栏上,依次选择“工具”、“选项”。
  • 在项目和解决方案页面上
  • 选择构建和 运行 页面。
  • 在 MSBuild 项目生成输出详细列表中,选择“详细”,然后选择“确定”按钮

我们可以继续寻找可能丢失文件的问题

现在检查了你的错误,请在此处的 Whosebug 中查看可能重复的内容..

"solved" 它使用 visual studio 2017 年发布。