我们使用MonoDevelop/MonoTouch构建我们的企业iPhone/iPad应用程序.
新客户希望我们将他们的TFS用作源代码存储库.是否有可以让我们连接到TFS的桥梁?也许通过SVN,如果我们必须?
编辑:Xamarin的最新版本现在完全支持Visual Studio 2012.http://Xamarin.com
所以,我刚刚在运行Lion的MacBook上安装了MonoTouch所需的一切.
我按照步骤/说明进行安装(参见此处),然后创建了一个新的解决方案.当我打开我的xib文件时,我收到以下错误(在MonoDevelop中):
更新Objective-C类型信息时出错.没有得到项目信息
的System.Exception:没有得到项目信息
在MonoDevelop.Macdev.XcodeSyncing.XcodeProjectTracker.UpdateTypes(IProgressMonitor的显示器,布尔力)[0x00029在/Users/builder/data/lanes/monodevelop-mac-2.8.6.4 /ca00645c/source/monodevelop/main/src/addins/MonoDevelop.MacDev/XcodeProjectTracker.cs:351
除了安装Xcode,然后是Framework/Runtime(MRE-2.10.8_3),然后是MonoDevelop(2.8.6.4),然后是MonoTouch,我什么都没做.
有人见过这个吗?我在网上的这个特定错误中找不到一件事.
这是我发现的一个例子,但它们实际上省略了发送参数.
this.PerformSelector(new MonoTouch.ObjCRuntime.Selector("_HandleSaveButtonTouchUpInside"),null,0.0f);
[Export("_HandleSaveButtonTouchUpInside")]
void _HandleSaveButtonTouchUpInside()
{
...
}
Run Code Online (Sandbox Code Playgroud)
我希望能够做到这样的事情:
this.PerformSelector(new MonoTouch.ObjCRuntime.Selector("_HandleSaveButtonTouchUpInside"),null,0.0f);
[Export("_HandleSaveButtonTouchUpInside")]
void _HandleSaveButtonTouchUpInside(NSURL url, NSData data)
{
...
}
Run Code Online (Sandbox Code Playgroud)
如何更改PerformSelector Call以将params发送到方法?
我正在开发一个应用程序(http://sourceforge.net/projects/audiocuesheet/)并使用fedora.由于fedora的rpm来自monodevelop 2.8.x,我需要monodevelop 4.0的功能.我下载了tarball并构建了monodevelop.它描述的效果很好,但我无法查看源文件的来源(截图).
截图http://img825.imageshack.us/img825/1495/screenshot1eo.png
有谁有任何想法,为什么这会失败?我尝试启动monodevelop没有重定向,但找不到任何错误.
我正在尝试使用Mono 2.10.9在OS X 10.7.4上构建测试MVC4项目.我在Visual Studio中创建了一个新的空MVC4 Web应用程序,使用git将源代码从Windows传输到Mac OS X.然后我运行xbuild for .nuget包恢复,但是当我构建monodevelop时,我得到一个奇怪的错误:
/Users/tamasnagy/Developer/Spellbound/Spellbound/Spellbound.csproj:错误:/ Library/Frame/Mono.framework/Version/10.10.9/lib/mono/xbuild/Microsoft/VisualStudio/v10.0/WebApplications/Microsoft. WebApplication.targets:无法导入项目文件,它是由/Users/tamasnagy/Developer/Spellbound/Spellbound/Spellbound.csproj导入的:导入的项目:"/ Library/Frame/Mono.framework/Version/10.10.9/lib/mono/xbuild/Microsoft/VisualStudio/v10.0/WebApplications/Microsoft.WebApplication.targets"不存在.(出神)
这意味着什么?当我在MonoDevelop中创建一个新的MVC项目并按下构建时,也会发生这种情况.有任何想法吗?
实际上有一种使用NUnit和MonoDevelop测试运行器对MonoTouch项目进行单元测试的好方法吗?
我知道有官方的MonoTouch单元测试项目类型,但在模拟器中运行测试不是我想要的方式.现在我想用MonoDevelop测试运行器运行测试,之后一切都应该与Jenkins(CI)一起使用.
我知道UI特定代码的局限性,所以我想测试的所有东西都与MonoTouch本身无关,它都是关于separete项目中的业务逻辑.
通过向MonoTouch Library类型项目添加测试,我得到了System.IO.FileNotFoundException,如下所述:http://ben.phegan.name/index.php/2011/02/28/monotouch-and-unit-testing/
通过使用单独的NUnit测试项目,我无法引用我的测试系统,因为它的项目类型是MonoTouch库项目类型,当然,它具有不兼容的目标框架(vMonoTouch).
所以,Touch.Unit没有任何真正的替代品,是吗?
在尝试编译我的MonoTouch项目时,我突然开始收到以下错误.
错误CS5001:程序'MyApp.exe'不包含适用于入口点的静态'Main'方法(CS5001)(MyApp)
以下是我的Main.cs的样子.
using System;
using System.Collections.Generic;
using System.Linq;
using MonoTouch.Foundation;
using MonoTouch.UIKit;
namespace MyApp
{
public class Application
{
static void Main (string[] args)
{
UIApplication.Main (args, null, "AppDelegate");
}
}
}
Run Code Online (Sandbox Code Playgroud)
知道我可以做些什么来解决这个问题吗?或者我是否需要创建新的解决方案?
在编译我的程序时(我从MonoDevelop IDE编译它)我收到一个错误:
错误CS0121:以下方法或属性之间的调用不明确:
System.Threading.Thread.Thread(System.Threading.ThreadStart)' andSystem.Threading.Thread.Thread(System.Threading.ParameterizedThreadStart)'(CS0121)
这里是代码的一部分.
Thread thread = new Thread(delegate {
try
{
Helper.CopyFolder(from, to);
Helper.RunProgram("chown", "-R www-data:www-data " + to);
}
catch (Exception exception)
{
Helper.DeactivateThread(Thread.CurrentThread.Name);
}
Helper.DeactivateThread(Thread.CurrentThread.Name);
});
thread.IsBackground = true;
thread.Priority = ThreadPriority.Lowest;
thread.Name = name;
thread.Start();
Run Code Online (Sandbox Code Playgroud) 阅读使用的NuGet不承诺包到源代码控制,我明白我应该添加.nuget文件夹到我的项目,以使构建过程中包恢复...和阅读准备的NuGet一个混帐回购协议我已经明白我可以删除NuGet.exe,并NuGet.config和让IDE通过设置自动下载它们DownloadNuGetExe以true在NuGet.targets.
好吧,我有点困惑,因为1)Xamarin Studio既不下载NuGet.exe也不下载NuGet.config... 2).nuget文件夹根本不需要,因为人们可以在解决方案资源管理器上发出命令Restore NuGet Packages并且无论如何都要恢复包.
话虽如此,在Xamarin Studio/MonoDevelop上配置包恢复的正确方法是什么?
有没有办法在Mono中使用Unity的C#运行R脚本?
如果无法使用Mono运行R脚本,我愿意使用.NET
更新
因此,以下代码将调用R脚本,但如果从unity monodevelop调用则不会输出文件.将字符串返回到mono是可以的,但是在startInfo.UseShellExecute和startInfo.RedirectStandardOutput上更改true和false会引发错误.以下是将调用R代码的C#代码:
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "Rscript";
startInfo.WorkingDirectory = Application.dataPath + "/myUnity/Scripts/";
startInfo.Arguments = "Rexp1.R";
startInfo.CreateNoWindow = true;
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.UseShellExecute = true;
startInfo.RedirectStandardOutput = false;
process.StartInfo = startInfo;
process.Start();
Run Code Online (Sandbox Code Playgroud)
我确定R脚本会输出一个文件,或者我可以抓住stdout并保持它.我将很高兴输出到文件或具有统一允许返回的字符串是R脚本的输出.
更新2* - 这是R脚本.
sink("output.txt")
nts <- matrix(rnorm(100), nrow = 500)
ds <- dist(nts,method = "euclidean", diag = TRUE, upper=TRUE)
dm <- as.matrix(ds) # distance matrix
print(dm)
sink()
Run Code Online (Sandbox Code Playgroud) monodevelop ×10
c# ×5
xamarin.ios ×5
mono ×4
macos ×2
ambiguous ×1
asp.net-mvc ×1
gtk ×1
ios ×1
iphone ×1
kde4 ×1
nuget ×1
nunit ×1
r ×1
svn ×1
tfs ×1
touch.unit ×1
unit-testing ×1
xamarin ×1