首页 \ 问答 \ 如何使用mdtool构建MonoTouch项目(How to build MonoTouch Project using mdtool)

如何使用mdtool构建MonoTouch项目(How to build MonoTouch Project using mdtool)

我正在尝试在Jenkins构建上设置MonoTouch(Xamarin.iOS 2.0)项目。 我有一个用于构建的用户,我已将所有必需的证书和密钥添加到他们的钥匙串中。

当我尝试在终端中使用mdtool(如此此处所述 )时。 具体来说,我运行的命令是"/Applications/Xamarin Studio.app/Contents/MacOS/mdtool" -v build <path to .sln> 。 当我这样做时,我得到了这个输出

MonoDevelop Build tool
ERROR [2013-02-28 10:31:36Z]: Android SDK not found, needed by Xamarin.Android add in 
Loading solution: <path to .sln>
   Loading solution: <path to .sln>
      Loading projects ..
Building Solution: <Project name> (Ad-Hoc|iPhone)
   Building: <project name> (Ad-Hoc|iPhone)

此时,构建停止。 如果我在我自己的用户下运行相同的命令,而不是Jenkins用户,则按预期工作。 我已经检查过我确实拥有jenkins用户的所有证书和密钥,并且所有的Provisioning Profiles都可以通过XCode访问。 我有点心情,并且真的很感激一些帮助。

更令人困惑的是,如果我尝试在jenkins用户下使用Xamarin Studio构建此项目,则该过程成功而没有问题。 但是为了自动化构建过程,我必须创建一个可以在shell中运行的命令。


I'm trying to set up a MonoTouch (Xamarin.iOS 2.0) project on a Jenkins build. I have a user that I have set up for the build, and I have added all of the required certificates and keys to their keychain.

When I attempt to use the mdtool (as described here and here) in the Terminal. Specifically Specifically, the command I run is "/Applications/Xamarin Studio.app/Contents/MacOS/mdtool" -v build <path to .sln>. When I do this, I get this output

MonoDevelop Build tool
ERROR [2013-02-28 10:31:36Z]: Android SDK not found, needed by Xamarin.Android add in 
Loading solution: <path to .sln>
   Loading solution: <path to .sln>
      Loading projects ..
Building Solution: <Project name> (Ad-Hoc|iPhone)
   Building: <project name> (Ad-Hoc|iPhone)

At this point, the build stops. If I run this same command under my own user, and not the Jenkins user, this works as expected. I've checked that I do in fact have all of the certificates and keys in the jenkins user, and that all of the Provisioning Profiles are accessible through XCode. I'm kind of at wits end with this, and would really appreciate some help.

To make matters more confusing, if I attempt to build this project using Xamarin Studio under the jenkins user, the process succeeds without issue. But to automate the build process, I have to make a command that can run through the shell.


原文:https://stackoverflow.com/questions/15143410
更新时间:2023-05-16 18:05

最满意答案

Safari正在标记第二种:作为无效语法。 您无需删除它,因为浏览器只是忽略无效的属性。

但是,如果由于某种原因你需要它才有效,或者它只是在烦你,这是你的选择:

最简单的选择是删除filter属性。 您确实失去了IE8支持,您可能需要也可能不需要。

如果确实需要IE 8支持,请使用-ms-filter属性,并将值包装在引号中:

-ms-filter: 'filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);';

您现在将失去对IE7及更低版本的支持,因为它仅在IE8中受支持 。 但是,由于IE 7仅占全球浏览器使用量的0.061% ,我不担心。 许多/大多数/如果不是所有网站都不再积极支持它。

资源:

FontAwesome遇到了这个问题


Safari is flagging the second : as invalid syntax. You don't need to remove it, as browsers simply ignore invalid properties.

However, if for some reason you need it to be valid, or it's just bugging you, here's your options:

The easiest option is to just remove the filter property. You do lose IE8 support, which you may or may not need.

If you do need IE 8 support, use the -ms-filter attribute, and wrap the value in quotes:

-ms-filter: 'filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);';

You will now lose support for IE7 and below, as it is only supported in IE8. However, since IE 7 makes up only 0.061% of the global browser usage, I wouldn't worry about that. Many/most/if not all websites don't actively support it anymore.

Resources:

FontAwesome had an issue with this

相关问答

更多
  • node.js 5.0尚不支持所有ES6功能。 特别是,它还不支持默认参数。 所以这一行: constructor(options = {}) { 是什么导致=赋值错误。 请参阅此表以了解node.js 5.0中支持哪些功能。 您可以使用旧式方法替换默认参数分配: constructor(options) { this.options = options || {}; } node.js 5.0 does not support all ES6 features yet. In particul ...
  • 我相信错误是因为60**2 ,我相信在Firefox或safari中不支持(请纠正我,如果我错了) 另一种方法是使用Math.pow(base,exponent) changeTimeFormat :function(timeCode){ var timeCodes = timeCode.split(/[:.]+/), hh = timeCodes[0], mm = timeCodes[1], ss = timeCodes[2], msmsms = timeCodes[3], ...
  • 删除该区域周围的所有不可见字符(空格),然后再尝试一下。 在复制/粘贴代码时,我已经看到Safari中的错误。 你可以拿起一些无效(不幸的是不可见的)字符。 用于从jsFiddle复制时,发生在我身上。 Delete all invisible characters (whitespace) around that area, then give it another try. I've seen that error in Safari when copy/pasting code. You can pi ...
  • 使用rem而不是em 其实em取决于父元素和rem取决于根元素...所以它使用rem代替em很好的。 阅读这篇文章 堆栈片段 .animate { animation-duration: 0.75s; animation-name: add-icon; font-size: 8rem; } @keyframes add-icon { 0% { font-size: 18rem; } 25% { font-size: 6rem; } ...
  • 您需要添加一个Webpack加载器才能导入任何非JS的东西。 在您的情况下,您需要一个CSS加载器来使行import './Banner.css'工作。 更多信息: https : //webpack.js.org/loaders/#styling You need to add a Webpack loader to be able to import anything that is not JS. In your case, you need a CSS loader to make the line ...
  • 箭头函数()=> {}是es6功能,已经支持firefox和chrome。 但safari旧版本没有。 请访问http://kangax.github.io/compat-table/es6/了解更多信息。 Arrow function ()=>{} is es6 feature, firefox and chrome both are already supported. But safari old version doesn't. Please check http://kangax.github.i ...
  • 只是看到我的最后一个导入有逗号,导致了这个错误 pkg = require('./package.json'), 需要是 pkg = require('./package.json') Just saw that my last import had a comma , which caused that error pkg = require('./package.json'), needs to be pkg = require('./package.json')
  • 如果有人(包括我)再次遇到此问题,这是供将来参考。 Safari在我的案例中抛出的错误是虚假的,或者至少是非常模糊的。 我在我的一个库中定义了一个类。 我不想存储该类对象的句柄/引用。 所以,我做了类似的事情: function reply(...) { new ClassName(.....).onHide = bind(...); .......... } 当我将其更改为以下内容时,Safari停止了抱怨。 function reply(...) { var dg = new ...
  • 我在package.json中添加了以下内容: "jest": { "moduleNameMapper": { "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "/__mocks__/fileMock.js", "\\.(css|sass)$": "/__mocks__/styleMock.js" } ...
  • Safari正在标记第二种:作为无效语法。 您无需删除它,因为浏览器只是忽略无效的属性。 但是,如果由于某种原因你需要它才有效,或者它只是在烦你,这是你的选择: 最简单的选择是删除filter属性。 您确实失去了IE8支持,您可能需要也可能不需要。 如果确实需要IE 8支持,请使用-ms-filter属性,并将值包装在引号中: -ms-filter: 'filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);'; 您现在将失去对IE ...

相关文章

更多

最新问答

更多
  • 您如何使用git diff文件,并将其应用于同一存储库的副本的本地分支?(How do you take a git diff file, and apply it to a local branch that is a copy of the same repository?)
  • 将长浮点值剪切为2个小数点并复制到字符数组(Cut Long Float Value to 2 decimal points and copy to Character Array)
  • OctoberCMS侧边栏不呈现(OctoberCMS Sidebar not rendering)
  • 页面加载后对象是否有资格进行垃圾回收?(Are objects eligible for garbage collection after the page loads?)
  • codeigniter中的语言不能按预期工作(language in codeigniter doesn' t work as expected)
  • 在计算机拍照在哪里进入
  • 使用cin.get()从c ++中的输入流中丢弃不需要的字符(Using cin.get() to discard unwanted characters from the input stream in c++)
  • No for循环将在for循环中运行。(No for loop will run inside for loop. Testing for primes)
  • 单页应用程序:页面重新加载(Single Page Application: page reload)
  • 在循环中选择具有相似模式的列名称(Selecting Column Name With Similar Pattern in a Loop)
  • System.StackOverflow错误(System.StackOverflow error)
  • KnockoutJS未在嵌套模板上应用beforeRemove和afterAdd(KnockoutJS not applying beforeRemove and afterAdd on nested templates)
  • 散列包括方法和/或嵌套属性(Hash include methods and/or nested attributes)
  • android - 如何避免使用Samsung RFS文件系统延迟/冻结?(android - how to avoid lag/freezes with Samsung RFS filesystem?)
  • TensorFlow:基于索引列表创建新张量(TensorFlow: Create a new tensor based on list of indices)
  • 企业安全培训的各项内容
  • 错误:RPC失败;(error: RPC failed; curl transfer closed with outstanding read data remaining)
  • C#类名中允许哪些字符?(What characters are allowed in C# class name?)
  • NumPy:将int64值存储在np.array中并使用dtype float64并将其转换回整数是否安全?(NumPy: Is it safe to store an int64 value in an np.array with dtype float64 and later convert it back to integer?)
  • 注销后如何隐藏导航portlet?(How to hide navigation portlet after logout?)
  • 将多个行和可变行移动到列(moving multiple and variable rows to columns)
  • 提交表单时忽略基础href,而不使用Javascript(ignore base href when submitting form, without using Javascript)
  • 对setOnInfoWindowClickListener的意图(Intent on setOnInfoWindowClickListener)
  • Angular $资源不会改变方法(Angular $resource doesn't change method)
  • 在Angular 5中不是一个函数(is not a function in Angular 5)
  • 如何配置Composite C1以将.m和桌面作为同一站点提供服务(How to configure Composite C1 to serve .m and desktop as the same site)
  • 不适用:悬停在悬停时:在元素之前[复制](Don't apply :hover when hovering on :before element [duplicate])
  • 常见的python rpc和cli接口(Common python rpc and cli interface)
  • Mysql DB单个字段匹配多个其他字段(Mysql DB single field matching to multiple other fields)
  • 产品页面上的Magento Up出售对齐问题(Magento Up sell alignment issue on the products page)