草庐IT

MONO_GC_PARAMS

全部标签

c# - 使用 Mono 将 C# .NET 应用程序移植到 OS X?

好的伙计们,我正在编写一个我想要跨平台的应用程序。直到最近,我一直在尝试使用C#在Silverlight中执行此操作,因为它也可以在OSX上运行,但由于我对C#相当生疏,而且我是Silverlight的新手,我遇到了一个接一个的头痛问题。其中大部分源于旨在在浏览器中运行的应用程序附带的限制,从我的开发服务器运行与直接从file://等运行时运行不同的问题。我宁愿完全放弃整个OSX支持的想法,也不愿为OSX完全重写应用程序,尤其是因为我完全没有为它编写的经验。我希望能够做的是使用VisualStudioforWindows在C#.NET中编写一个常规应用程序,然后使用Mono轻松地将它移

c# - 使用 C# 和 Mono 为 OS X 构建 Cocoa UI

有没有人花时间比较各种ObjectiveC桥和相关的Mono包装器?我想移植一个现有的C#应用程序以在OSX上运行。理想情况下,我会在Mono上运行该应用程序,并为其构建一个原生的CocoaUI。我想知道哪座桥是最佳选择。如果它对任何人都有用,这里有一些我迄今为止发现的桥梁链接:CocoSharp-在OSX上与Mono一起分发-www.cocoa-sharp.comMonobjc-比其他文件更好的文档(在我看来)-www.mono-project.com/CocoaSharp和www.monobjc.netNObjective-(显然)比其他人快-code.google.com/p/n

c# - 可以在 OSX .app 包中包含 Mono Runtimes 吗?

我正在寻找需要在Windows和OSX上运行的应用程序。因为我已经非常熟悉C#/.NET,所以我想我应该看看使用Mono。但我也希望它非常容易安装,不希望用户必须单独安装Mono包。是否可以创建一个只包含所有内容的OSX.app包?也就是说,我的应用程序、资源和完整的Mono运行时? 最佳答案 是的,你可以做到这一点。选择一个应用程序,任何应用程序,然后显示包内容。稍微探索一下,您会发现里面有一个Contents/MacOS目录。它将包含一个设置了执行位的文件。这可以是机器代码或任何以#!行开头的旧脚本。您需要做的就是使用骨架应用程

c# - GC 行为和 CLR 线程劫持

我在CLRviaC#一书中阅读了有关GC的内容,特别是关于CLR何时开始收集的内容。我知道它必须在收集发生之前暂停线程,但它提到它必须在线程指令指针到达安全点时执行此操作。在它不在安全点的情况下,它会尝试快速到达一个安全点,它通过劫持线程(在线程堆栈中插入一个特殊的函数指针)来实现。这一切都很好,但我认为默认情况下托管线程是安全的?我最初认为它可能指的是非托管线程,但CLR允许非托管线程继续执行,因为任何正在使用的对象无论如何都应该被固定。那么,什么是托管线程中的安全点,GC如何确定那是什么?编辑:我认为我不够具体。根据thisMSDNarticle,即使调用了Thread.Suspe

c# - 为什么 GC 在我引用它时收集我的对象?

让我们看看下面显示问题的片段。classProgram{staticvoidMain(string[]args){vartask=Start();Task.Run(()=>{Thread.Sleep(500);Console.WriteLine("StartingGC");GC.Collect();GC.WaitForPendingFinalizers();Console.WriteLine("GCDone");});task.Wait();Console.Read();}privatestaticasyncTaskStart(){Console.WriteLine("Start");

c# - C# 中的 `params` 是否总是会导致在每次调用时分配一个新数组?

C#/.NET通过按引用传递Array类型来实现可变函数参数(与C/C++不同,C/C++只是将所有值直接放在堆栈上,无论好坏).在C#世界中,这有一个很好的优势,即允许您使用“原始”参数或可重用数组实例调用相同的函数:CultureInfoc=CultureInfo.InvariantCulture;Stringformatted0=String.Format(c,"{0}{1}{2}",1,2,3);Int32third=3;Stringformatted0=String.Format(c,"{0}{1}{2}",1,2,third);Object[]values=newObjec

c# - 在 Mono 中使用预编译的 .NET 程序集 DLL?

我们目前正在测试Mono,看看我们的.NETDLL是否适用于Linux上的客户。我们的DLL为Windows窗体提供组件。我将DLL放在Debug目录中,添加了引用,并创建了一个从Windows窗体派生的类。该类独立运行良好,但在我添加DLL引用并创建我们的组件之一(智能感知工作正常)后,它编译但不会运行:**(/home/aldwin/testMonoWF/testMonoWF/bin/Debug/testMonoWF.exe:26905):WARNING**:Couldnotloadfileorassembly'OUR.ASSEMBLY,Version=1.0.0.1,Cultur

c# - .NET/Mono 数据库引擎

是否有完全在.NET中实现并与Mono兼容的数据库引擎?我想要一个可以通过Mono在所有平台上运行的数据库解决方案,这样我就不必担心每个平台都有单独的native二进制文件。 最佳答案 VistaDB完全是.NET并在Mono上受支持。您可以将您的数据库服务器嵌入到您的应用程序中,因此无需额外设置,唯一的问题是这不是免费产品。Firebird有一个.NET版本,并且是开源的,它也可以在Mono上运行。如果您想使用它进行搜索,它还有一个Lucene适配器。还可以查看此页面,列出Mono下支持的数据提供程序等http://www.mon

c# - Mono MVC5 - View 不起作用

我正在尝试使用Mono和XSP4在我的Linux机器上启动MVC5网站。它在没有View的情况下工作,但是当我尝试渲染某些东西时它给我错误。这是我的测试代码。请注意,我没有做任何更改,这基本上是一个没有EF或任何其他库的空白站点。只是简单的MVC5+Razor。publicActionResultIndex(){//returnContent("'sallgood");//worksreturnView();}System.InvalidOperationExceptionCouldnotlocateRazorHostFactorytype:System.Web.Mvc.MvcWebR

c# - 如何在 .NET Core 中启用服务器 GC?

我有一个在VS2017中开发的.NETCore应用程序(MyApp.exe)运行在1.0.4版本上>SDK。我尝试添加一个包含以下条目的App.config:构建时重命名为:MyApp.config。但这并没有改变GC模式;有什么想法吗? 最佳答案 基于thissource,您可以通过csproj执行此操作:true 关于c#-如何在.NETCore中启用服务器GC?,我们在StackOverflow上找到一个类似的问题: https://stackoverf