Tag: mono

在Xamarin Studio中打开Visual Studio项目时,“版本字符串部分太短或太长”

我尝试在Xamarin工作室社区中打开VS 2012的解决方案,但其中一个项目–asp.net mvc项目 – 给出了“版本字符串部分太短或太长” 我认为.net版本还可以。 我尝试在VS中创建简单的asp.net mvc项目,然后在XS中打开它,一切都很顺利。 所以我不知道在这种情况下有什么问题。 我找到了删除线条的解决方案 VisualStudioVersion = {0} MinimumVisualStudioVersion = {0} 适用于此,但不是我的情况。

Unity3D – 我可以使用.NET 4.5程序集作为外部库吗?

我想使用在.NET Framework v4.5中实现的一组function。 因为Unity3D适用于Mono运行时(相当于.NET 3.5),我认为使用.NET4.5程序集作为外部插件。 可能吗? 如果可能的话,哪个运行时将用于这个库 – Mono或程序集的目标运行时(在我的情况下是.NET 4.5)?

C#MonoGame帮助? (Content.Load (“入侵者”);)

我在MonoGame中使用Open GL制作太空侵略者游戏,我正在尝试加载我添加到Content文件夹的纹理(这是一个名为“Invader”的PNG文件) 我使用的代码是: invader = Content.Load(“Invader”); 但是,当我试图运行它时它说: ContentLoadException未处理 无法将Invader加载为非内容文件!

TcpClient的NetworkStream何时完成一次读操作?

我正在开发一个涉及通过TCP和Google协议缓冲区进行客户端服务器通信的项目。 在客户端,我基本上使用NetworkStream.Read()通过字节数组缓冲区从服务器进行阻塞读取。 根据MSDN文档, 此方法将数据读入buffer参数并返回成功读取的字节数。 如果没有可用于读取的数据,则Read方法返回0. Read操作读取尽可能多的数据,最多为size参数指定的字节数。 如果远程主机关闭连接,并且已收到所有可用数据,则Read方法立即完成并返回零字节。 与异步读取(NetworkStream.BeginRead和EndRead)的情况相同。 我的问题是Read()/ EndRead()何时返回? 看起来它会在填充缓冲区中的所有字节后返回。 但在我自己的测试中,情况并非如此。 在一次操作中读取的字节变化很大。 我认为这是有道理的,因为如果在发送消息时服务器端有暂停,客户端不应该等到读取缓冲区已经填满。 Read()/ EndRead()本身是否有一些超时机制? 我试图找出Mono如何在NetworkStream中实现Read()并跟踪,直到调用extern方法Receive_internal()。

使用GTK进行GUI构建#

我可能需要使用C#和Mono构建GTK GUI。 如果我理解正确,那意味着我有3个选择: 编写C#代码来调用GTK#包装类。 GUI是“在代码中”。 使用MonoDevelop GUI设计器。 这使用stetic标记构建一个接口。 我似乎只是XML。 使用Glade和libglade创建GUI并在运行时加载它。 我对MonoDevelop的GUI编辑器有一点经验。 这很好,但有一些粗糙的边缘。 我可以想象在某些时候需要手动编辑stetic标记。 我过去也使用Glade和Python … 这两个项目都只是实验性的,所以我真的很想听听之前打过这场战斗的人。 各有哪些优缺点? 最后,如果该项目的开发可以在Windows,Linux和Mac OS X上进行,那将是很好的。

无法在Mono中加载’System.Web.Http.WebHost.Routing.HttpRouteExceptionHandler’类型

我尝试在Mono中使用最新的Asp.Net Web API,但错误显示如下: System.TypeLoadException Could not load type ‘System.Web.Http.WebHost.Routing.HttpRouteExceptionHandler’ from assembly ‘System.Web.Http.WebHost, Version=5.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35’. Description: HTTP 500.Error processing request. Details: Non-web exception. Exception origin (name of application or object): System.Web. Exception stack trace: at System.Web.Routing.UrlRoutingModule.PostResolveRequestCache (System.Web.HttpContextBase context) [0x00054] in /Volumes/build-root-ramdisk/mono-3.4.0/mcs/class/System.Web.Routing/System.Web.Routing/UrlRoutingModule.cs:128 at System.Web.Routing.UrlRoutingModule.PostResolveRequestCache (System.Object o, System.EventArgs e) [0x00007] in /Volumes/build-root-ramdisk/mono-3.4.0/mcs/class/System.Web.Routing/System.Web.Routing/UrlRoutingModule.cs:88 at System.Web.HttpApplication+c__Iterator0.MoveNext () [0x001ba] in […]

单声道C#十进制分割的精度是不同的?

decimal d1 = 4.0m; decimal d2 = 40.0m; decimal d = d1 / d2; string repr = d.ToString(); 在Windows上,我为repr获得“0.1”。 在Mono(Xamarin Android)上,我获得了“0.1000000000000000000000000000”左右。 是什么赋予了? 此外,我已经看到建议除以1.0000000000000000000000000000m以摆脱不必要的尾随零。 这在Xamarin Android上都不起作用。 已知错误? 或者技术上不是错误 – 这是否符合标准? 为了摆脱零,我将值转换为字符串,从字符串中删除尾随零,并将其转换回小数。 它很弱。 此外,我的解决方案不会产生我想要的确切结果。 我宁愿留下相当重要的尾随零,而不是删除所有尾随零。

MAC OS X上的单声道El Capitan:LSOpenURLsWithRole

我有一个.NET软件,它在Linux和MAC上运行在Mono上。 该软件在OSX Lion下以Mono 3.6.0的Macpack打包为.app,并使用PackageMaker创建了一个安装程序。 它在所有新版本的OSX上工作正常,直到El Capitan触发以下错误: LSOpenURLsWithRole() failed with error -10810 for the file …/Applications/MyApp.app 我已经移动了El Capitan上的开发文件,并设法用Mono 4.0.4.4中的Macpack打包它。 使用时似乎没有显示错误 open -a MyApp.app 现在唯一的问题是它不会在双击时启动。 该软件由安装程序安装在/ Applications中。 它可以通过打开命令从控制台启动,但不能双击。 有没有办法通过模拟从控制台双击来查看错误或其他内容? PS。 同样在El Capitan上,唯一可行的Mono框架是最新的4.0.4.4或为El Capitan 4.2.1设计的框架。 二进制文件的新位置位于/ usr / local / bin而不是/ usr / bin,这仅在安装前存在/ usr / local / bin时才有效,否则将无法识别mono命令。 谢谢

如何使用mono解决OSX上的SecureChannelFailure问题

我正试图在单声道上使用.NET(F#)访问https://geocoder.cit.api.here.com 。 我正在使用FSharp.Data的Http帮助程序,使用以下代码: let baseUrl = “https://geocoder.cit.api.here.com/6.2/geocode.json?searchtext=1701%20McFarland%20Blvd%20E%20Tuscaloosa%09%20AL&app_id=&app_code=” let res = Http.RequestString(baseUrl) 在OSX Sierra(10.12.2)上以单声道版本4.6.2为我运行这个产生SecureChannelFailure 。 我该如何解决这个问题? 我试过mozroots –import –ask-remove但是没有帮助。 在~/.config/.mono/certs/Trust 。 我甚至试图绕过检查,因为我只是在调查API,但这也不起作用。 我试图绕过它的方式是: let callback = Security.RemoteCertificateValidationCallback(fun _ _ _ _ -> true) ServicePointManager.ServerCertificateValidationCallback <- callback

MonoMac窗口关闭没有错误

我刚开始使用Xamarin Studio中的MonoMac,我遇到了一个最奇怪的问题: 我是一个带有NSButton和NSTextField的窗口。 到目前为止,我已经删除了按钮上的事件处理程序,因此它不做任何事情,除非我点击它时突出显示。 按钮创建代码如下所示: nsButton = new NSButton(new System.Drawing.RectangleF(0, 0, 100, 100)); nsButton.BezelStyle = NSBezelStyle.RoundRect; nsButton.Font = NSFont.SystemFontOfSize( NSFont.SystemFontSizeForControlSize(NSControlSize.Regular)); nsButton.StringValue = text; …然后它会像这样添加到窗口中: nsView.AddSubview(control.Handle as NSView); (因为在这部分代码中,control.Handle被输入为对象,而nsView是窗口上的主视图)。 所有的运行和工作正常。 但是,如果我反复点击该按钮,最终窗口就会关闭。 没有错误,没有例外,应用程序本身也不会退出; 当我使用菜单时,菜单会继续响应并愉快地记录消息。 但窗户很简单 – 走了。 这是非常可重复的:它发生在21次点击之后。 如果我添加一个更新NSTextField的事件处理程序(例如hello.Caption =“Foo”;),那么它会在19次点击后发生。 无论是快点还是慢点都没关系; 它始终是相同的点击次数。 请注意,项目中没有关闭窗口的代码,窗口甚至没有关闭框; 我知道没有合法的方法来关闭它而不是退出应用程序。 我在这里感到困惑,不知道如何进一步调试。 在这么多活动之后,Xamarin是否有某种评估限制可以关闭你的窗户? 这是一个框架错误吗? 任何见解将不胜感激。