问题标签 [xbuild]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3306 浏览

c# - 将 MSbuild 文件从 4.0 降级到 3.5

我有一堆用 Visual Studio 2010 创建并针对 .NET 4.0 的 csproj 文件。

我现在正在尝试使用 xbuild 在 Mono 2.6.7 上编译,但是 2.6.7 无法编译 verison 4 msbuild 项目。(2.10.1没有问题,我们一直在用,不过我想在2.6.7上做个实验)。

使用 MonoDevelop 我已将运行时版本更改为 Mono / .NET 3.5,它在 2.6.7 下编译良好。但是更改为使用 xbuild 失败。

将 MSBuild 版本更改为 3.5 需要哪些步骤?csproj 文件的第一行非常明显:

改变这一点很容易,但我担心有些不太明显的东西也应该改变。

任何人都知道从 4.0 降级到 3.5 msbuild 文件的最终方法吗?

0 投票
1 回答
2484 浏览

character-encoding - 为 Mono 的 xbuild 设置源文件字符编码

我正在生成由 VS2010 和 Mono 的 xbuild (2.10.2.0) 构建的 C# 源代码。这通常工作得很好,到目前为止我只有一个兼容性问题,在那种情况下,我使用了一个明确指定为未定义行为的“功能”(所以是过失)。

现在我遇到了一个问题,在 C# 源代码中的字符串文字中有特殊字符。我正在以 UTF-8 生成源文件,我正在测试的字符是德语锐利 s: 0xC39F。这是由代码写入 latin1 中的一个文件,0xDF当使用 VS 构建可执行文件(这是我想要的)和0xC33F使用 xbuild 构建时,它最终会结束。

据我所知,使用 .NET 还是使用 Mono CLR 运行可执行文件似乎并不重要。

我目前的怀疑是 xbuild 没有将源代码读取为 UTF-8,因此编译后的代码在字符串文字中已经有错误的字符。有没有办法明确告诉它?我找不到任何东西,xbuild /?xbuild文档也不是特别全面。如果我只是错过了记录此内容的正确页面,当然,只需一个链接就足够了。

所有实验均在 Win7 x64 上进行。

编辑1:为了澄清,我使用十六进制编辑器来确认源代码文件中的字符是真的0xC39F,用VS2010编译时0xDF写的字符是,用xbuild编译时写的字符是0xC33F

0 投票
1 回答
6455 浏览

mono - 这些 Mono/xbuild 警告是什么意思,我该如何解决?

我使用 Mono 的 xbuild 2.10.5.0 构建 VS2010 项目。这些项目使用“.NET Framework 3.5 Client Profile”作为目标框架(它们必须与 3.5 兼容,并且我不需要的不仅仅是客户端配置文件部分)。

我收到以下警告:

恐怕我不理解这些,并且“无法找到与目标框架名字对象相对应的框架”的唯一 Google 命中是该错误消息的提交。

这些警告是什么意思,我该如何解决?Mono 根本不支持“客户端配置文件”吗?如果是这样,我在 Mono 文档中找不到任何相关内容。是什么导致了未解析的mscorlib引用,这两个System引用在哪里报告了冲突?

0 投票
1 回答
1435 浏览

c# - 尝试从 Mono NUnit 测试中获取调试输出

我有一个相当大的 C# 库,最初是为 .NET 和 Windows 编写的,现在我们正在移植到 Mono 和 Linux。它使用 NUnit 进行了彻底的单元测试。移植相当简单,但现在我需要一些真正的调试功能,比如错误行号和断点。

我在 Windows 7 上使用 VS2010 或在 Debian 6.0.2 上使用 xbuild 进行编译,这并不重要,因为二进制文件是完全兼容的。使用由 tarball 构建的 Mono 2.10.2 和来自 Debian 实验性的 NUnit 2.5.10 运行测试。

当我在 Visual Studio 中运行我的项目时,在我附加到 nunit 进程后调试工作正常。那么,有谁知道我如何通过 NUnit 测试启用功能齐全的 Mono 调试器支持?

PS 我见过这个,但我正在使用 xbuild 编译并使用 nunit-console 运行,所以我不能手动为编译器或 Mono 运行时提供参数。

提前致谢!

更新:我发现了 pdb2mdb 实用程序,但即使我使用它,我仍然无法获得行号,这让我相信代码不是用 --debug 编译的。但是由于我在 VS .sln 文件上使用 xbuild,而不是直接调用编译器,我该如何使用 --debug?

0 投票
1 回答
1610 浏览

c# - Mono xbuild 错误 CS1548 - 密钥文件格式不正确

所以我试图让一个 VS2010 C# 项目跨平台。第一个目标是在 Windows 的 Mono 2.10.5 中构建它。我还没有接触任何代码——我从 xbuild 最近构建 sln 文件的能力开始。(顺便说一句,我使用 Jenkins 来触发构建,这并不重要,因为我在命令行中得到了相同的结果。)

我收到“错误 CS1548:程序集签名期间出错。指定的密钥文件 `AlphaBeta.pfx' 格式不正确”。这个错误没有多少谷歌果汁。有谁知道这会导致什么?提前致谢!

下面的完整输出:

0 投票
2 回答
3617 浏览

c# - Mac 上的 C# Mono - 使用代码编译并运行另一个项目

我正在尝试为一个项目构建一个自动下载、编译和运行程序,只是为了让 mac 上的其他用户和我自己更容易,这样我们就不必随着项目的进展一遍又一遍地做所有事情。当我谷歌时,我找不到任何关于如何用代码编译和运行 C# monodevelop 项目的信息。这里有人知道怎么做吗?

谢谢

编辑:使用下面提到的 xbuild 编译项目,但我似乎找不到运行构建的命令?唯一的输出似乎是 .exe 并且当我尝试运行时会启动 vmware,是否有我在某处添加的 som 命令?像执行

0 投票
2 回答
804 浏览

msbuild - 以独立于平台的方式从 msbuild 项目运行 .net 可执行文件

我正在开发一个 .NET 库,我希望构建脚本非常通用,以便它可以从 MS .NET 框架和 Mac/Linux 机器上的单声道安装中运行。

这里的问题是运行 NUnit。我已经下载了 nunit 可执行文件并将其放在 lib 文件夹中。为了在我的 Mac 上执行它,我必须在我的构建脚本中编写以下内容

事情是“单声道”部分,它将构建脚本与单声道框架联系起来。有没有办法我可以编写这个构建脚本,以便它可以在 MS .NET 框架和 Mono 框架上运行?

现在我的问题与 NUnit 有关。但它也可能是任何其他 .NET 可执行文件。

0 投票
2 回答
1726 浏览

visual-studio-2010 - xbuild 和 F# (vs2010) 项目

我有一个主要是 C# 的 VS 2010 混合语言解决方案,但包含一个用 F# 编写的 Windows 服务。我在并行环境中使用 xbuild 构建了这个建筑,但是自从从badgerports升级到 mono 2.10.5 的打包版本后,我一直无法让它工作。

我通常遇到的错误是:

/home/alex/git/Solution/FSProject/FSProject.fsproj:错误:在项目中找不到名为“Build”的目标。

令我困惑的是,查看项目文件,似乎没有定义任何目标。我远非 MSBuild 专家,但这对我来说似乎有点奇怪。话虽如此,它以前确实有效。

有没有人遇到过(并希望找到解决方案)类似的问题?如果可能的话,我希望能够使用 xbuild 和 Visual Studio 构建解决方案。

环境是从 badgerports 运行单声道 2.10.5 的 mint 11(不确定这是基于 ubuntu 特立独行还是 natty)。fsharp 是从最新源安装到默认前缀的。

编辑

多亏了布赖恩的指针,我已经能够更接近一点(我确实必须对路径进行硬编码,xbuild 似乎无法解决诸如 "$(MSBuildExtensionsPath32)..\FSharp\1.0\Microsoft.FSharp.Targets 之类的问题”)。FSC 现在实际上正在被调用,尽管它抱怨它无法解析对 FSharp.Core 的引用。

我发现此页面F# 和 XBuild (Debian)有助于实现这一目标。

0 投票
1 回答
1735 浏览

.net - 如何在 MSBuild 中使用 git 命令?

我正在考虑使用git 子模块来检索我的 git 存储库的依赖项,而不是将二进制文件提交到我的主存储库(实际上只将二进制文件提交到我可以经常清除的不同存储库 - 清除我的意思是删除历史记录以节省服务器上的空间...)。

问题是,如何使用 MSBuild 调用 GIT 可执行文件?在开发人员机器中,git 应该已经在路径中,但在 buildagents 中,git 可执行文件的路径将来自环境变量。如何在编译时使用 MSBuild 找出 git 路径?每次构建时,我都想对 git 子模块进行 git pull 。

谢谢

0 投票
2 回答
3350 浏览

.net - 使用 MSBuild 递归复制所有文件

我有以下一组带有 MSBuild 的文件:

然后我将所有内容复制到另一个目录:

但是,我想做的是 copy*.js和 copy /yui/*.*。我尝试做的是:

但是,这样做的目的是将/yui/目录展平并将 yui 的所有文件直接放入/WWW/scripts.

有一个更好的方法吗?

顺便说一句,我实际上正在使用XBuild而不是MSBuild,但据我所知,这两者在很大程度上是兼容的。