【发布时间】:2017-04-27 09:15:13
【问题描述】:
我有一个位于 FolderA 中的 C# 项目 A,它引用了一个共享项目 B。共享项目的文件位于 FolderB 中。共享项目 B 包含一个文件 C.gz 与属性
构建操作 嵌入式资源
复制到输出目录 不要复制
当我尝试使用 xbuild(特别是版本 4.8 和 4.8.1、x86 和 x64 架构)构建项目 A 时:
xbuild A.csproj
我收到以下构建错误:
C:\Program Files (x86)\Mono\lib\mono\xbuild\14.0\bin\Microsoft.Common.targets(CopyNonResxEmbeddedResources 目标)->
C:\Program Files (x86)\Mono\lib\mono\xbuild\14.0\bin\Microsoft.Common.targets: 错误:无法将 FolderA\C.gz 复制到 FolderA\obj\Release\C.gz,因为源文件不存在。
即xbuild 在 FolderA 中搜索嵌入的资源文件,尽管它显然与共享项目 B 的其他文件一起位于 FolderB 中.
将嵌入的资源文件移动到项目 A 对我来说不是一个可行的选择,因为共享项目也被其他几个项目引用。
我还能做些什么来让 A 项目使用 xbuild 成功构建吗?
旁注:这是 xbuild 中的预期行为,还是错误?使用 msbuild 我没有这个问题。
【问题讨论】: