对于具有Java背景的开发人员,我也有兴趣使用ASP.NET工具/平台探索软件开发。 Java Web应用程序(.jsp和servlet)可以在许多服务器平台上运行。 问 :.NET Web应用程序能够在基于Linux的服务器上运行吗? 考虑到不能使用Windows服务器托pipeWeb应用程序的情况。
是否有可能使用C#编写一个Android应用程序? 有没有API或什么? 个人和商业发展是免费的吗? 我需要安装在我的Visual Studio中有Android项目模板?
.NET Core和Mono有什么区别? 我在官方网站上发现了一个声明:“为它编写的代码也可以跨应用程序堆栈移植,如Mono。” 我的目标是使用C#,LINQ,EF7和Visual Studio创build一个可以在Linux上运行/托pipe的网站。 有人告诉我,他希望它是“单声道”,但我不知道这是什么意思。 我知道我想用我上面列出的技术来使用.NET Core 1.0。 他还表示,他想用“快速CGI”。 我也不知道这是什么意思。 你能帮我理解一下这些条款吗?如果我的期望是现实的话?
Mono比Javaless了多less库? 我缺乏关于这两种select的概述,但我有很大的自由select我的下一个项目。 我正在寻找在这方面的硬技术事实 性能(例如,我被告知Java对线程有好处,而且我听说最近对于.NET的运行时代码优化已经变得非常好) 真实世界的可移植性(它们都是可移植的,每个Catch-22是什么?) 工具可用性( CI ,构build自动化,debugging,IDE) 我特别在寻找你在自己的工作中实际经历的事情,而不是我可以谷歌的事情。 我的应用程序将是一个后端服务,处理来自时间序列的大量数据。 我的主要目标平台是Linux。 编辑: 为了更充分地说出我的问题,我对整个包(第三方库等)感兴趣,而不仅仅是语言。 对于图书馆来说,这可能归结为“Mono比Javaless了多less库”的问题? 仅供参考,自那之后,我就select了Java作为这个项目,因为它在可移植性方面似乎更加糟糕,而且在较老的系统上也有一段时间了。 对此我感到有些遗憾,因为我对C#非常好奇,并且很想在其中完成一些大型项目,但也许下一次。 感谢所有的build议。
这里的许多人可能都熟悉Joel Spolsky最受欢迎的博客文章之一, 请问先生,我可以有一个链接器 ,在那里他要求删除.NET框架上的依赖关系,这样就可以开发一个独立的应用程序,出售。 当时Visual Studio开发团队的Jason Zander 对这个主题提出了自己的观点 ,他认为这个主题有些没有实际意义 – 解决运行时安全问题的能力是其主要的关注点。 总的来说,小的开销是值得的。 快进到2009年。现在有几个团体声称拥有C#连接器。 (Jason Zander甚至说自己不需要太多的实现)。我们现在有了一个大型的200-300 MB跨平台完整的.NET 3.5安装程序,而不是像.NET 1.0那样可爱,十几兆的下载。其中包含用于x86,x64和ia64的.NET版本。 微软对减less运行时间的build议包括: 解压缩可再发行组件,删除不需要的目标平台,然后重新组合 使用仅为您的平台下载库的Web引导程序 使用客户端configuration文件安装程序(2008年末新增),它具有有限的库,只适用于x86 更糟糕的是,据我了解(请纠正我,如果我错了)客户端configuration文件甚至没有注册与Windows 3.5安装.NET 3.5。 这意味着如果在计算机上安装了多个.NET 3.5客户端应用程序,则不会看到对方,并且运行时将被重新安装! 我真的不知道微软在这里想的是什么。 即使假设最糟糕的情况下安装将是针对一个目标平台(例如x64),只有那些库需要包含在内,您仍然需要在应用程序开销60 mb以上。 即使是最知名的.NET应用程序之一,Paint.NET,也充满了安装应用程序的困难,因为.NET依赖性很大。 如果他们在发布免费应用程序时遇到问题,那么世界其他地方呢? 最后,他们不得不安装Microsoft Installer 3.1,.NET运行时引导程序,以及所有其他依赖库,然后才能安装自己的应用程序。 那么怎么样呢。 一个链接器。 是否有任何好的存在 – 或者只是简单地构build一个C#应用程序而不需要用户安装大量.NET运行时的工具? 更新:所以,它看起来像有几个选项: 单声道: 单声道有它自己的链接器 。 从下面的答案看来,它看起来很好。 。净: Xenocode似乎是可用和可用的。 Thinstall是另一个推荐的,它是由VMware。 Remotesoft还有另外一个链接器 。 他们认为这是一个“混淆器”。 那里有任何想法? Rustemsoft发现另一个名为Skater .NET混淆器 。 […]
有没有人写过(或了解).netunit testing运行器, 在 NUnit上运行的优先级? 还是我必须推出自己的? 我的目标是在模拟器或设备上执行unit testing。 到目前为止,我已经看到了嘲讽monotouch.dll(但在PC上运行testing)的一些post/博客和一个答案,指出缺乏这样的工具。
在C#中(在SuSE上运行在Mono 2.8下的.NET 4.0),我想运行一个外部批处理命令并以二进制forms捕获它的输出。 我使用的外部工具称为“samtools”(samtools.sourceforge.net),除此之外,它可以从一个名为BAM的索引二进制文件格式返回logging。 我使用Process.Start来运行外部命令,我知道我可以通过redirectProcess.StandardOutput来捕获它的输出。 问题是,这是一个带有编码的文本stream,所以它不能访问输出的原始字节。 我find的几乎可行的解决scheme是访问基础stream。 这是我的代码: Process cmdProcess = new Process(); ProcessStartInfo cmdStartInfo = new ProcessStartInfo(); cmdStartInfo.FileName = "samtools"; cmdStartInfo.RedirectStandardError = true; cmdStartInfo.RedirectStandardOutput = true; cmdStartInfo.RedirectStandardInput = false; cmdStartInfo.UseShellExecute = false; cmdStartInfo.CreateNoWindow = true; cmdStartInfo.Arguments = "view -u " + BamFileName + " " + chromosome + ":" + start + "-" + […]
我想知道在程序的执行过程中,它是使用Mono运行时还是Microsoft运行时执行的。 我目前使用下面的代码来确定我是否在MS CLR上: static bool IsMicrosoftCLR() { return RuntimeEnvironment.GetRuntimeDirectory().Contains("Microsoft"); } 但是,这有点依赖于运行时的安装文件夹,我不确定这是否适用于所有安装。 有没有更好的方法来检查当前的运行时间?
我需要一个条件编译开关,知道我是否正在为单声道或MS .NET运行时编译。 我该怎么做?
我正在做一个简单的REST客户端来使用我的C#应用程序。 在Windows上的.net上使用http://和https://连接很有效。 在单声道2.6.7(也用2.8testing,相同的结果)在Ubuntu 10.10只有http://的作品。 https://连接在request.GetResponse()方法上引发此exception: Unhandled Exception: System.Net.WebException: Error getting response stream (Write: The authentication or decryption has failed.): SendFailure —> System.IO.IOException: The authentication or decryption has failed. —> Mono.Security.Protocol.Tls.TlsException: Invalid certificate received from server. Error code: 0xffffffff800b010a at Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.validateCertificates (Mono.Security.X509.X509CertificateCollection certificates) [0x00000] in <filename unknown>:0 at Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.ProcessAsTls1 () [0x00000] in <filename unknown>:0 at Mono.Security.Protocol.Tls.Handshake.HandshakeMessage.Process […]