标签: mono

Linux下的MbUnit,在F#项目中使用?

我尝试在gallio-users列表中询问此问题,但问题未能出现(Google Groups称帖子成功).我想这个列表可能会被那些不经常阅读他的电子邮件的人主持:-)看到SO有Gallio和MbUnit的标签,我认为这里值得一提.

我看到MbUnit头版提到他们热衷于维护Mono兼容性.还有一个> 1年的关于gallio用户的帖子说它在Linux下不起作用

如果删除Parallelizable属性,我想测试的项目在Mono下编译得很好.我可以Gallio在Linux下启动控制面板,但不能启动Icarus或Echo.

有没有办法MbUnit在Linux下运行测试?使用命令行(如Gallio.Echo)并且不需要Monodevelop的东西会特别有用.

ubuntu mono mbunit f# gallio

100
推荐指数
1
解决办法
1026
查看次数

.NET是否有办法检查List a是否包含List b中的所有项?

我有以下方法:

namespace ListHelper
{
    public class ListHelper<T>
    {
        public static bool ContainsAllItems(List<T> a, List<T> b)
        {
            return b.TrueForAll(delegate(T t)
            {
                return a.Contains(t);
            });
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

其目的是确定List是否包含另一个列表的所有元素.在我看来,这样的东西已经内置到.NET中,就是这样,我是否复制了功能?

编辑:我很抱歉没有说明我在Mono版本2.4.2上使用此代码.

.net c# generics mono list

91
推荐指数
3
解决办法
5万
查看次数

如何在C#或F#中使用Travis-CI

Travis CI持续集成服务正式支持多种语言,但不支持C#或F#.

我可以在我的.net项目中使用它吗?

c# mono f# travis-ci

90
推荐指数
4
解决办法
1万
查看次数

在基于Linux的服务器上运行ASP.Net

对于具有Java背景的开发人员,我也有兴趣使用ASP.NET工具/平台来探索软件开发.

Java Web应用程序(.jsp和servlet)可以在许多服务器平台上运行.

问题:.NET Web应用程序是否能够在基于Linux的服务器上运行?考虑到无法使用Windows服务器托管Web应用程序的情况.

linux asp.net mono

89
推荐指数
7
解决办法
23万
查看次数

覆盆子Pi上的单声道

我已经看过很多关于在Raspberry Pi上运行Mono/.NET代码的讨论.在Raspberry Pi上实际运行任何Mono代码是否有任何成功?

在他们的网站上,他们列出了几个在该设备上运行的Linux发行版,其中一些发行版包括Mono.但是,没有详细说明Mono是否适用它.

有工作实施吗?

.net linux mono arm raspberry-pi

78
推荐指数
5
解决办法
4万
查看次数

DialogFragment OnCreateView与OnCreateDialog的自定义布局

我正在尝试使用自己的布局创建一个DialogFragment.

我见过几种不同的方法.有时布局在OnCreateDialog中设置如下:(我正在使用Mono,但我已经习惯了Java)

public override Android.App.Dialog OnCreateDialog (Bundle savedInstanceState)
{
    base.OnCreateDialog(savedInstanceState);
    AlertDialog.Builder b = new AlertDialog.Builder(Activity);
        //blah blah blah
    LayoutInflater i = Activity.LayoutInflater;
    b.SetView(i.Inflate(Resource.Layout.frag_SelectCase, null));
    return b.Create();
}
Run Code Online (Sandbox Code Playgroud)

第一种方法对我有用......直到我想findViewByID. 在谷歌搜索后使用,我尝试了第二种方法,涉及覆盖OnCreateView

所以我注释掉了两行OnCreateDialog设置布局然后添加了这个:

public override Android.Views.View OnCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
    View v = inflater.Inflate(Resource.Layout.frag_SelectCase, container, false);
        //should be able to use FindViewByID here...
    return v;
}
Run Code Online (Sandbox Code Playgroud)

这给了我一个可爱的错误:

11-05 22:00:05.381: E/AndroidRuntime(342): FATAL EXCEPTION: main
11-05 22:00:05.381: E/AndroidRuntime(342): android.util.AndroidRuntimeException: requestFeature() must be called before adding content
Run Code Online (Sandbox Code Playgroud)

我很难过.

java mono android xamarin.android android-inflate

74
推荐指数
6
解决办法
6万
查看次数

使用Xamarin for Linux进行开发

是否可以使用具有相同代码库的Xamarin开发和构建Linux应用程序?
使用Ubuntu几年后,我的主操作系统现在又是Windows.但这并非不可能,我可以切换到Mac.

Rigth现在我对Qt有一点经验,没有Xamarin的经验.使用Qt,您可以在Windows,Linux和Mac以及Windows,Linux,Mac,iOS,Android,Windows Mobile等开发......他们非常清楚这一点.由于Xamarin现在是免费和开源的,我仍然没有Qt的经验,我正在考虑尝试Xamarin进行跨平台开发而不是Qt.

无法发布我的Linux软件对我来说是一个破坏者.能够在Linux下开发会很好,但是可选的.但在我的所有Google研究之后,我只能找到信息和人们要求支持在Linux下开发而不是Linux.

据我所知,单独使用Mono不应该是一个问题.但据我所知,Xamarin> Mono并且我没有得到Mono中的所有内容我可以进入Xamarin.我也不确定未来Mono的支持程度如何.对我来说,看起来Xamarin对于微软而言比Mono本身更为重要.我不确定它是否可能,因为Xamarin基于Mono,但是有可能,微软在某种程度上决定不支持Mono与.NET的兼容性与Xamarin一样,甚至完全取消单声道Mono吗?

所以我正在寻找一个可以依赖的所有桌面和移动平台的单一框架,我想知道在我深入任何一个之前,Xamarin和/或Mono和/或Xamarin + Mono是否可以替代Qt那两个解决方案.

.net c# mono xamarin

72
推荐指数
4
解决办法
7万
查看次数

OpenNet的.Net(dotNet)包装器?

我见过他们中有一些. opencvdotnet,SharperCV,EmguCV,One on Code Project.

有没有人有这些经验?我在Code Project上玩了一下,但是当我尝试做任何复杂的事情时,我得到了一些讨厌的无法捕获的异常(即Msgbox异常).跨平台(支持Mono)将是最好的.

.net c# mono opencv cross-platform

70
推荐指数
4
解决办法
5万
查看次数

适用于.NET应用程序的连接器状态(又名"请先生,我可以拥有链接器"2009版)

这里的很多人可能都熟悉Joel Spolsky最受欢迎的博客文章之一,请主席先生,我可以有一个链接器,在那里他呼吁一种方法来删除.NET框架的依赖关系,这样就可以开发一个独立的应用程序,出售.

Visual Studio开发团队的Jason Zander当时回答了他对这个主题的看法,认为这个话题有点没有意义 - 在运行时(以及其他方面)修复安全问题的能力是他们的主要关注点.总的来说,小开销是值得的.

快进到2009年.现在有几个团体声称拥有C#链接器.(Jason Zander甚至自己说实现它不会花太多时间.)我们现在拥有一个庞大的200-300 mb跨平台完整的.NET 3.5安装程序,而不是可爱的,十几个下载的.NET 1.0.包含用于x86,x64和ia64的.NET版本.微软建议减少运行时间大小包括:

  • 解压缩可再发行组件,删除不需要的目标平台,然后将其重新组合在一起
  • 使用仅为您的平台下载库的Web引导程序
  • 使用具有有限库的Client Profile安装程序(2008年末新增),仅适用于x86

更糟糕的是,正如我所理解的那样(如果我错了请纠正我)客户端配置文件甚至没有注册Windows,因为安装了.NET 3.5.这意味着如果计算机上安装了多个.NET 3.5客户端应用程序,则没有人会看到对方,并且将一次又一次地重新安装运行时!

我真的不知道微软在想什么.即使假设最坏的情况安装将是针对一个目标平台(例如,x64)并且仅需要包括那些库,您仍然在应用程序上查看超过60 MB的开销.即使是最着名的.NET应用程序之一,Paint.NET,由于存在大量的.NET依赖性,因此很难安装应用程序. 如果他们在分发免费应用程序时遇到问题,那么世界其他地方呢?最后,他们必须制作一个安装Microsoft Installer 3.1,.NET运行时引导程序以及所有其他依赖库的引导程序,然后才能安装自己的应用程序.

那怎么样呢.链接器.是否存在任何好的 - 或者只是简单地构建C#应用程序而不需要用户安装大量.NET运行时的工具?

更新:所以,看起来有几个选项:

单声道:

.净:

看起来Mono工具正在使用; 基于.NET的工具怎么样?与他们有任何其他经验,或者我们只是要等待微软将其推向每个人?我不禁想到将.NET 4.0推出需要多长时间......

.net c# vb.net mono linker

70
推荐指数
3
解决办法
6435
查看次数

联锁和不稳定

我有一个变量,我用来表示状态.它可以从多个线程读取和写入.

我正在使用Interlocked.ExchangeInterlocked.CompareExchange改变它.但是我从多个线程中读取它.

我知道volatile可以用来确保变量不在本地缓存,但总是直接从内存中读取.

但是,如果我将变量设置为volatile,则会生成有关使用volatile并使用ref传递给Interlocked方法的警告.

我想确保每个线程都读取变量的最新值而不是某些缓存版本,但我不能使用volatile.

有一个Interlocked.Read 但是它适用于64位类型,并且在紧凑的框架上不可用.它的文档说32位类型不需要它,因为它们已经在一次操作中执行.

如果您使用Interlocked方法进行所有访问,则互联网上有一些声明您不需要使用volatile.但是,您无法使用Interlocked方法读取32位变量,因此您无法使用Interlocked方法进行所有访问.

有没有办法在不使用锁的情况下完成我的变量的线程安全读写?

.net c# mono

70
推荐指数
2
解决办法
1万
查看次数