问题标签 [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 投票
1 回答
19378 浏览

.net - 未找到或无法加载程序集 mscorlib.dll

首先,我见过这个问题,虽然问题看起来很相似,但并不相同。

我正在运行一个精简的单声道,没有使用 4.5 配置文件构建./configure --with-profile4=yes --with-profile4_5=no

我有一个针对 .NET 4.0 的应用程序,使用 mono 的xbuild. 当我针对精简的单声道安装运行它时,我收到此错误:

The assembly mscorlib.dll was not found or could not be loaded. It should have been installed in the `/opt/my-app/mono/lib/mono/4.5/mscorlib.dll' directory.

现在,我不只引用 4.0 程序集 - 没有来自 4.5,AFAICS。

为什么我会收到此错误?

我不确定它是否相关,但我在构建时收到此警告xbuild(但不是在构建时msbuild,虽然我仍然会在mscorlib.dll我的修剪过的单声道上运行):

我也不确定这是否相关,但构建机器确实安装了 .NET 4.5。

0 投票
1 回答
6835 浏览

ubuntu - 在单声道/Ubuntu 上构建 SLN

我正在尝试使用 Mono / xbuild 在 Ubuntu 上构建我的 SLN

我开始收到与缺少 webapplication.targets 相关的错误,并认为我已经通过在 OS X 10.7.4 上的 MonoDevelop 中构建 MVC4 项目时添加一个 simlink 来解决这个问题

但是现在我收到与以下相关的错误:错误:初始化任务错误错误:无法加载文件或程序集“Microsoft.Build.Tasks.v4.0”或其依赖项之一。

我需要采取什么特殊步骤来完成这项工作吗?我需要特定版本的 Mono 吗?

[更新]

看来这是 Nuget 步骤的问题:

0 投票
3 回答
1142 浏览

c# - xbuild 使用(.html)资源文件失败

我在让 xbuild 编译 Web 应用程序项目时遇到问题。我们有一些资源文件,它们是 .html 文件。

目前失败的是'KwasantCore\Resources\HTMLEventInvitation.html'

该资源在 KwasantCore.csproj 中定义为

在 ubuntu 上构建时,文件位于此处:

运行 xbuild 时,出现此错误:

我检查了文件,它就在那里——问题是区分大小写。资源在 .csproj 中被正确引用,因此在某处,资源从'Resources/HTMLEventInvitation.html'到小写'resources/htmleventinvitation.html'

我查看了 ubuntu 盒子上的 Microsoft.Common.targets 文件。第 125 行是完全不相关的(它显示了我</PropertyGroup>)。查看 GenerateResources 目标,它向我展示了这一点:

引用的目标是:

现在,这对我来说看起来很可疑,但我无法弄清楚这些Include="@(ResourcesWithNoCulture)"行在做什么——在别处搜索它们并没有给我任何提示。它是一个 .html 文件(而不是 .resx)这一事实让我怀疑 GenerateTargets 目标,因为它只调用目标的 resx 版本。

我不是 .targets 文件方面的专家 - 谁能帮帮我?我用谷歌搜索,但没有找到任何帮助。我认为这将是一个相当常见的错误,因为资源并不是非常稀有(但也许没有 .resx 它们是)。

编辑:再次查看后,与“GenerateResources”相关的错误并不完全有意义:它应该在“CopyNonResxEmbeddedResources”失败,因为资源不是.resx。他们 GenerateResources 目标不应该接触 .html 文件 - 因为它只查看“ResxWithNoCulture”和“ResxWithCulture”

在“GenerateResources”之前直接调用目标“CopyNonResxEmbeddedResources”

0 投票
1 回答
1890 浏览

dll - 为需要 dll 的 MONO 构建 csproj

我有一行代码是从一个名为Zetcode的网站获得的,为了构建第一个示例,我将代码编译如下:

这构建了绘制我的窗口的 exe,但我认为我的csproj文件不正确。

这是尝试运行 xbuild 和 msbuild 的结果。

这是 MSBuild 运行的结果。MSBuild 成功完成,但我想这是因为 MSBuild 知道在哪里查看,而无需我在csproj文件中指定它。

我不知道要在csproj文件中放入什么以使其加载我在命令行中使用的那些 DLL 以使用gmcs. 有什么线索吗?

-- 编辑 2014-08-20 --

在使用knocte的答案后,我能够看到它们是如何References添加到csproj文件中的。它就像添加一个项目组一样简单,然后添加您using在 C# 源文件中列出的引用。

如果您手动构建csproj文件,这是手动方式。

0 投票
1 回答
127 浏览

macos - 在 Mac OS X 下构建时出现 WebSharper 错误

我正在尝试在 Mac OSX 下使用 WebSharper 构建项目,但出现以下错误:

我可以在 Windows 下构建相同的项目而没有任何问题。在 Windows 下,我可以简单地执行msbuild或指定配置msbuild /p:Configuration=Release,甚至是 Fake 编译器。在 Mac OSX 下,无论我尝试使用什么(使用 xbuild 或 Fake),我总是遇到同样的错误。上次我能够使用发布模式构建项目,但在这里它也不起作用。

我在 github 下托管了这个项目:https ://github.com/MangelMaxime/BugReport

我知道不推荐,但最好有相同的条件......

0 投票
0 回答
134 浏览

c# - xbuild 在从 Xcode 调用时表现不同

我们的 Xcode 项目需要编译几个 C# 项目作为构建阶段。从 Xcode 而不是从终端运行时,xbuild 命令行调用的行为不同

xbuild /property:configuration=Mono Plug-ins/MyTestPlugIn.sln

从终端运行时,会复制引用项目的本地程序集。从 Xcode 运行时,不会发生导致编译失败的复制。

我猜肯定有一些不同的环境变量,但无法弄清楚它是什么。

0 投票
1 回答
687 浏览

xamarin.ios - 从命令行获取 Xamarin 工具链版本信息

我想确保在我们的 CI 环境中安装了正确版本的 mdtool、mono、sdk 和 xamarin.android/ios。为此,我的想法是在 Jenkins/Ant 构建过程中添加一个版本检查,如果未安装正确的版本,它会阻止构建执行。

我可以从 xamarin studio 接收所有相关信息,但是如何从命令行获得相同的信息?xbuild 和 mdtool 都没有为我提供版本。如果我使用 mdtool 开始构建,最相关的事情就是这里:

有没有办法接收完整的版本信息?

0 投票
9 回答
29406 浏览

c# - 编译后的单声道缺少默认 .NET 库 - 未定义或导入 System.Object

我按照此处的指南在 OS X Mavericks 上编译了单声道:http ://www.mono-project.com/docs/compiling-mono/mac/

现在,当我使用 xbuild 编译我的应用程序时,出现以下错误:

当我在 OS XI 上使用单声道安装程序时,从未收到任何这些错误。

(我正在构建单声道,因为我正在向未完成的 .NET 框架添加功能)

autogen.sh 运行结果:https ://gist.github.com/Geesu/149332f3f877c891d387 make 运行结果: https ://gist.github.com/Geesu/4296f7d4c6c368d6986d

0 投票
0 回答
435 浏览

mono - 如何使用 Mono 的 xbuild 在 Linux 上构建 TypeScript 项目?

我正在 Windows 上使用 Visual Studio 开发这个项目,但是在我添加一些需要使用 TypeScript 构建的文件之前,我在 Linux 上使用 xbuild 编译它没有问题。具体来说,编译一组 .ts 文件以生成 app.js,然后将其作为嵌入式资源包含在内。该构建在 VS 中工作,但使用 xbuild 我得到了这个:

它甚至没有尝试 TypescriptCompile 步骤。如果我手动运行 tsc 来生成 app.js,构建就可以工作,但是我需要做什么才能让它自动工作呢?

0 投票
2 回答
6063 浏览

linux - 如何在 Linux 上解决 xbuild '.NETPortable,Version=v4.0,Profile=Profile344' 问题

我尝试使用以下说明编译我的项目,因此出现以下错误。

我的剧本;

输出;

XBuild Engine 版本 12.0 Mono,版本 3.2.8.0 版权所有 (C) 2005-2013 各种 Mono 作者

构建开始于 2015 年 1 月 6 日 18:31:01。


项目“/home/ziyasal/gthb/InfluxDB.Net/InfluxDB.Net.sln”(默认目标):目标 ValidateSolutionConfiguration:构建解决方案配置“调试|任何 CPU”。目标构建:项目“/home/ziyasal/gthb/InfluxDB.Net/InfluxDB.Net/InfluxDB.Net.csproj”(默认目标):目标RestorePackages:执行:mono --runtime=v4.0.30319“/home /ziyasal/gthb/InfluxDB.Net/.nuget/NuGet.exe"安装"/home/ziyasal/gthb/InfluxDB.Net/InfluxDB.Net/packages.config"-source""-RequireConsent -solutionDir"/home/ziyasal /gthb/InfluxDB.Net/" 正在恢复 NuGet 包...为了防止 NuGet 在构建期间下载包,打开 Visual Studio 选项对话框,单击包管理器节点并取消选中“允许 NuGet 下载丢失的包”。目标 PrepareForBuild:配置:调试平台:AnyCPU 创建目录“bin/Debug/” 创建目录“obj/Debug/” 目标 GetReferenceAssemblyPaths:/usr/lib/mono/xbuild/12.0/bin/Microsoft.Common.targets:警告:无法找到与目标框架名字对象“.NETPortable,Version=v4.0,Profile=Profile344”对应的框架。框架组件引用将从 GAC 中解析,这可能不是预期的行为。/usr/lib/mono/xbuild/12.0/bin/Microsoft.Common.targets:错误:未安装 PCL 参考程序集。任务“GetReferenceAssemblyPaths”执行——在项目“/home/ziyasal/gthb/InfluxDB.Net/InfluxDB.Net/InfluxDB.Net.csproj”中完成构建目标“GetReferenceAssemblyPaths”。——失败完成构建项目“/home/ziyasal” /gthb/InfluxDB.Net/InfluxDB.Net/InfluxDB.Net.csproj".-- FAILED Task "MSBuild" 执行 -- FAILED Done build target "Build" in project "/home/ziyasal/gthb/InfluxDB.Net/InfluxDB .Net.sln".-- 失败完成建设项目 "/home/ziyasal/gthb/InfluxDB.Net/InfluxDB.Net.sln".-- 失败

构建失败。

警告:

/home/ziyasal/gthb/InfluxDB.Net/InfluxDB.Net.sln(默认目标)->(构建目标)-> /home/ziyasal/gthb/InfluxDB.Net/InfluxDB.Net/InfluxDB.Net.csproj(默认目标)-> /usr/lib/mono/xbuild/12.0/bin/Microsoft.Common.targets(GetReferenceAssemblyPaths 目标)->

工作程序集引用将从 GAC 解析,这可能不是预期的行为。

错误:

/home/ziyasal/gthb/InfluxDB.Net/InfluxDB.Net.sln(默认目标)->(构建目标)-> /home/ziyasal/gthb/InfluxDB.Net/InfluxDB.Net/InfluxDB.Net.csproj(默认目标)-> /usr/lib/mono/xbuild/12.0/bin/Microsoft.Common.targets(GetReferenceAssemblyPaths 目标)->

经过时间 00:00:03.8459340