这个问题在这里已经有了答案:HowcanIconditionallycompilemyC#forMonovs.Microsoft.NET?(2个答案)关闭9年前。我需要为Mac上的Mono和PC上的.NET双重编译一个类库。我想做一些小改动,但我希望使用编译器指令拆分代码。有什么建议吗?
我正在尝试将单元测试添加到.NetImageProcessor库:https://github.com/cosmo0/ImageProcessor/tree/tests我正在我的Mac上开发Xamarin/Mono。Mono似乎在处理gif动画图像方面存在一些问题。对于我的单元测试,我有一堆测试图像,我加载它们并在每个图像上运行转换。每次我应用滤镜(例如亮度)时,它都会在尝试重新创建图像时失败。失败行在这里:https://github.com/cosmo0/ImageProcessor/blob/tests/src/ImageProcessor/Imaging/Formats/Gif
MonowithLLVM项目能够使用LLVM编译器后端,它有一些非常强大的优化来编译C#.NET项目,这使得它在计算密集型应用程序中的运行速度提高了大约20%。MonoisnowabletouseLLVMasabackendforcodegenerationinadditiontoMono'sbuilt-inJITcompiler.ThisallowsMonotobenefitfromallofthecompileroptimizationsdoneinLLVM.ForexampletheSciMarkscoregoesfrom482to610.那么是否可以将现有的C#.NET项目定位
使用Mono2.11.3(SGen)以及稳定的2.10.8版本时,使用WeakReference的测试代码对我来说失败了。在像这样的简单代码中objectobj=newobject();WeakReferencewr=newWeakReference(obj);Assert.IsTrue(wr.IsAlive);obj=null;GC.Collect();Assert.IsFalse(wr.IsAlive);第二个断言将失败。添加GC.WaitForPendingFinalizers没有帮助。这是Mono中的错误还是我脑子里的错误?谢谢 最佳答案
我想将我简单的纯.Net2.0控制台实用程序转换成一个可移植的exe,我可以将它放在USB内存棒上运行,而不必担心CLR和框架库是否安装在特定机器上.Stackoverflow已有someinformation关于使用Mono和Mkbundle用于从.Net项目创建独立的Windowsexe,但我想要的是一个紧凑但有用的HOWTO。从简单的C#VisualStudio项目实现可移植性的最少步骤是什么? 最佳答案 我找到了一个简单的方法here但是,由于我没有亲自测试过,我不能保证结果。像往常一样YMMV。引自原文(请继续关注原文中的
我不知道如何使用Mono.Cecil将自定义属性添加到方法中我想添加的属性是这样的:.custominstancevoid[mscorlib]System.Diagnostics.DebuggerHiddenAttribute::.ctor()=(01000000)有谁知道如何添加自定义属性 最佳答案 其实很简单。ModuleDefinitionmodule=...;MethodDefinitiontargetMethod=...;MethodReferenceattributeConstructor=module.Import(t
我正试图决定将Mono与C#或Python(Django)一起用于基于Linux的网站。我对C#的担忧是Mono可能不如.NET可靠。有没有人有这方面的经验? 最佳答案 我在Linux上使用mono/c#做了很多事情——所有项目都在Windows机器上编译,不少。我做过服务、网站、控制台应用程序,应有尽有。除非你在做真正的边缘案例,否则你应该没有问题。我也使用lighttpd+fastcgi+mono运行站点,没有问题。我喜欢它 关于c#-Linux上的Mono与Windows上的.NE
我正在寻找一个开源工具来将多个.NET程序集合并为一个程序集。 最佳答案 检查ILRepack,它允许合并符号文件、xml文档、App.config等。它是开源的,基于Cecil.在一个名为ILRepack-BuildTasks的项目中还有NAnt和MSBuild集成。. 关于c#-是否有适用于Mono的ILMerge等效工具?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/36
我正在寻找我的应用程序的目录,它似乎与常规的C#不同?如Path.GetDirectoryName(Application.ExecutablePath)不工作。 最佳答案 一个正确的跨平台解决方案是Path.GetDirectoryName(Assembly.GetEntryAssembly().Location)请注意,Environment.CurrentDirectory和Assembly.GetExecutingAssembly().Location(更确切地说,其目录)在语义上都是错误的,尽管它们通常是-但不是始终-同一
我希望将我的一个C#应用程序转移到Mono以便在Mac上使用。目前,我正在尝试弄清楚如何使它成为一种“后台”进程,但仍然具有GUI元素的能力(我相信这排除了mono-service)。最终目标是这样的:在大多数交互中按时钟放置一个托盘图标。删除启动的应用程序通常附带的停靠栏图标让应用程序在启动时运行。简而言之,想想Dropbox应用程序工作。我想要那种类型的GUI,但带有Mono/Mac应用程序。我相信这通常是通过在应用程序包的Info.plist中设置LSUIElement=1来实现的。但是,我没有运气。我认为这可能与从应用程序包中启动我的应用程序的mono命令有关。一旦应用程序启动