屏幕保护程序如何在Mac OS X和Linux上工作?
在Windows中,屏幕保护程序只是倾倒在System32中的A .scr 扩展名的可执行文件,它由三个开关(/p,/c和/s,我认为)控制. 屏幕保护程序如何在Mac OS X和Linux上工作?它们是否在Mac OS X和Linux(Gnome,KDE,Ubuntu或任何差异)中类似地工作,还是完全不同? 另外,它们可以在C#/Mono中开发吗? 解决方案 OSX中的屏幕保护程序系统是屏幕保护程序(通常,但不一定)是一个客观-C库,扩展了一个基类来实现诸如图形,优先窗格,预览模式等方法. 有一个很好的教程在这里. 虽然Objective-C是预期的语言,但直接将C/C ++实现二进制起来很简单. 有一个API(桥梁),可以允许其他语言与Objective-C API相互操作.例如,例如,在这里允许用Python编写的OSX屏幕保护程序.我想类似的方法对于单声道是可行的. xscreensaver 现在主要在OSX上开发,并在那里使用OSX
0 2024-04-21
编程技术问答社区
错误CS0234命名空间中不存在类型或名称名称'android'Xamarin.forms.platform
当我在Visual Studio 2017中创建一个新的空白跨平台项目时,我会遇到大约六个错误.全部在" MainActivity.cs"页面上.我正在运行已更新以支持Core 2.1的VS2017.我不确定我需要安装或更改以解决此问题. 我正在使用 c:\ program文件\ java \ jdk1.8.0_171 c:\ program文件(x86)\ android \ android-sdk 以及在工具和扩展下,一切都是最新的. namespace HelloWorld.Droid { [Activity(Label = "HelloWorld", Icon = "@mipmap/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation
2 2024-04-20
编程技术问答社区
Android Studio与Visual Studio(跨平台原生移动应用开发)的比较
我是初学者.我正在学习开发Android应用程序. Android Studio和Visual Studio之间有什么区别?我最近检查了Visual Studio网站.我看过这句话 "带有JavaScript和带有C#的本机应用程序的混合应用程序". 这是什么意思?这是否意味着我们可以在Visual Studio中创建具有完全控制的Android Studio的本机移动应用程序?他们之间有哪些优点和缺点,对于初学者来说,哪个是正确的途径? 我也有学习开发iOS应用程序的想法.如果Android Studio和Visual Studio具有相同的功能,并且开发应用程序的性能相同,我可以学习C#并使用Visual Studio吗? 解决方案 我认为您可能会感到困惑.微软最近与Xamarin合作.它为Visual Studio提供了创建iOS,Android和Windows应用程序的功能(价格为C#). Android Studio(如果我没记错的话)用于使用J
0 2024-04-19
编程技术问答社区
获取当前的IP地址 Xamarin.Forms ( 跨平台)
如何获得Xamarin.forms(跨平台)的当前IP地址? Wifimanager我无法使用,Wifimanager无法包含? 解决方案 public string MyIp; foreach (IPAddress adress in Dns.GetHostAddresses(Dns.GetHostName())) { MyIp = "IP Adress: " + adress.ToString(); SettingsTab.IP_Adress = MyIp; break; } 其他解决方案 或尝试以下方法: var IpAddress = Dns.GetHostAddresses(Dns.GetHostName()).FirstOrDefault(); if (IpAddress != null) { return IpAddress.ToString(); } 其他解决方案 尝试这样做: public st
0 2024-04-19
编程技术问答社区
VS2010上的单声道?
我想开始执行将在Linux和Windows上运行的跨平台项目. 当我听到Mono允许我在Linux上运行C#时,我去了Mono的网站查看内容,但是当我到达那里时"> http://mono-project.com/main_page 我有点困惑. 下载页面允许我下载它,但是要在VS2010上编程单声道,我需要为单工具付费,或者VS2010中是否有其他选择? 简而言之,我需要使用VS2010的单声道,没有VS2010的单声道的替代方法? 解决方案 您可以在Linux中使用 monodevelop . 您还可以使用Visual Studio 2010 Express Edition在Windows上开发,并以Microsoft .NET框架为目标.然后,您可以通过 Mono Migration Analyzer(MOMA)确保它们将在Linux/Mono上成功运行.由于Mono使用与Microsoft Framework相同的标准IL,因此,如果您坚持使用框架
0 2024-04-19
编程技术问答社区
如何在Xamarin.Forms跨平台的特定页面上设置内容页方向或屏幕方向
如何在Xamarin.Forms交叉平台中的特定页面上设置内容页面方向或屏幕方向. 我已经设置了ScreenOrientation = ScreenOrientation. 在所有平台的属性上的肖像,但我想在两个变化中显示某些页面秀意味着肖像和景观,因此如何在`xamarin.forms中的页面上设置. 设置屏幕定位不是明智的,而是在页面上设置的某些页面中的某些页面显示在Xamarin表单中的肖像中的某些页面显示cross-平台 解决方案 您可以通过使用DependencyService为特定平台创建依赖项来做到这一点. 尝试这样做: 接口 public interface IOrientationService { void Landscape(); void Portrait(); } 对于Android: [assembly: Xamarin.Forms.Dependency(ty
0 2024-04-19
编程技术问答社区
如何将.NET应用程序移植到mono
由于我对我在Linux或Mac上不起作用的C#应用​​程序不满意,因此我安装了Monodeveloping,希望将我的应用程序移植到Mono以换取交叉平台. 但是,我不知道如何使用Monodevelops完成此任务.常见问题或文档中没有说明. 任何想法如何做? 解决方案 来自MonoDevelop 我可以将视觉工作室2K5+项目导入零件开发? 单次开发可以打开,操纵并保存基于MSBUILD的项目 直接在大多数情况下.实际上,由于Monodevelop 2.0默认 项目格式是VS2008风格的MSBUILD项目,但VS2005和 VS2010格式也已处理. Google仍然是您的朋友: 如何使用单声道工具将.NET应用程序用于Visual Studio 使用mono来端口c#.net应用到OS X?
0 2024-04-18
编程技术问答社区
.net核心的跨平台桌面应用程序
我想使用.NET Core开发跨平台桌面应用程序.该应用需要在Linux,Mac OS和Windows上执行.为此,我应该创建一个控制台应用程序,并在设置xml? 中放置在线下方. win10-x64;osx.10.12-x64;debian.8-x64 这足够了吗?如果是这样,我应该编写所有平台,然后通过逗号分开,例如 win7-x32; win10-x64; ... 如果不是答案,我如何使用.NET Core生成跨平台桌面应用程序? 解决方案 作为其他答案所暗示的.NET核心本身是跨平台,但没有提供任何GUI解决方案.您可以运行控制台/终端应用程序以及Web应用程序,但不能运行桌面应用程序. 截至目前,还没有官方的Microsoft Tech解决多平台GUI.我所知道的两个是 avalonia 和
0 2024-04-18
编程技术问答社区
视觉工作室的条件编译
我知道有一种有条件编译的目标框架的方法,例如##if net461 ....#elif .... 但是有没有办法有条件地编译特定的操作系统 像目标_os_mac或target_os_win 如果有人可以指导我进入文档或教程如何实施它? 第2部分: 另外,是否有一种创建自定义标签的方法,这样我就不必在新目标OS或Framework.eg从Net461更改为Net471 时不必更改每个标签. 解决方案 此答案假设您正在询问自定义预处理器符号(这就是我的解释方式 - 如果我错了,请纠正我. 您可以使用自定义构建配置: 首先进入构建配置管理器. 接下来,创建一个新的构建配置.您可以从现有的配置复制配置: 然后,右键单击您的项目并转到属性.在"构建"选项卡下,定义条件汇编符号: 对Windows做同样的事情. 然后您可以按照以下方式编写条件步骤: class Program { static void Main(strin
0 2024-04-18
编程技术问答社区
有没有一个跨平台的C#/.NET的GUI框架?
我们只是为了高兴,我决定不想再在Java上编写桌面应用程序,而是想切换到使用C#.我希望能够构建一个将在某些主流Linux发行版上运行的应用程序,以及MS Windows的最新版本.它将具有GUI组件. 在Java中,我可以构建一个使用秋千的应用程序.一旦工作起作用,我可以将该Jar文件从Windows复制到Linux,反之亦然,具体取决于我开发的位置.它通常会以java -jar myapp.jar. 运行 在C#中可以执行此操作吗? C# 中是否有功能等效的功能 解决方案 有 eto.forms.forms (在github上),这是一个在顶部的抽象层 wpf , winforms , gtk 和 monomac/cocoa - 因此,您可以在所有平台上获得本机UI必须重新实现每个平台.您不必遭受最低的共同分母,因为您可以实现每个平台的具体细节(如果需要,但不是必需的). 它具有纯净的.NET,并且仅依赖于OS提供的依赖项,而不是使用GTK或WXWIDGETS,
0 2024-04-18
编程技术问答社区
可移植C#的最佳实践
我希望为Linux/Windows/Mac/任何其他平台编写一些C#代码,并正在寻找便携式代码的最佳实践. 项目 mono 有一些很棒的移植资源. 便携式C#? 的最佳实践是什么 解决方案 我实际上使用了Winforms,这很好.这很丑陋,但起作用. 显然,请勿使用P/Invoke或任何Win32诸如注册表之类的Win32.还要注意任何第三方DLL.例如,我们使用第三方sqlite dll,它实际上包含本机代码,如果要在OSX/Linux上运行,我们必须交换. 其他解决方案 我讨厌"最佳实践"一词,因为在任何情况下,某些实践似乎都是最好的,这是一件有风险的事情平台代码(以及大多数其他类型的开发): 一直使用连续的集成引擎,并一直为所有目标平台构建. 听起来太复杂了吗?好吧,如果您确实需要支持多个平台,最好做到这一点.无论您对代码和图书馆使用情况有多么小心,如果测试得太晚,您会发现自己花了很长时间的时间来重新编写应用程序的大部分. 其他解决
0 2024-04-18
编程技术问答社区
Xamarin vs. Mono vs. Monodevelop
xamarin 和是什么关系单声道(它们是同一产品)吗? 单个iDE与单声道有关? 解决方案 Xamarin主要是使用C#开发移动应用程序(Android和iPhone)的平台. 单声道项目是.NET框架的开源端口.它最常用于在Linux下运行.NET.从性能的角度来看,它的运行速度约为.NET框架(平均). . 单体开发是一种开源C#iDE与Eclipse或Visual Studio相似. Miguel de Icaza是单声道的主要开发人员,是Xamarin的创始人/所有者之一. https://xamarin.com/ http://www.mono-project.com/main_page 态
0 2024-04-17
编程技术问答社区
用于跨平台的Xamarin Forms的UserControl
我一直在寻找很长时间,但仍然没有找到一种为跨平台Xamarin表单创建WPF的方法.这甚至可以完成吗?我正在使用Xamarin与Visual Studio 2013. 解决方案 这是一个XAML示例.只是为了添加您可以具有任何基本视觉元素.例如.网格,堆叠,图像等 这是 背后的代码 namespace Mobile.Control { public partial class UserControl : Grid { public UserControl() {
2 2024-04-15
编程技术问答社区
你能在Xamarin跨平台应用程序中放入一个Unity 3D游戏吗?
您可以将Unity 3D游戏放在Xamarin Cross Platform应用程序中吗? 我正在使用Unity 3D开发游戏,我想将游戏包括在我的Xamarin Cross Platform应用中. 游戏是一个迷你游戏,我将免费赠送给下载和使用我的应用的客户. 这是可能的吗? 解决方案 您可以将Unity 3D游戏放在Xamarin Cross Platform应用程序中吗? 这取决于. 假设您不是在谈论浏览器游戏,Unity会创建自己的可执行文件和/或入口点.您可能必须采用Unity3D创建的游戏,并将其嵌入原始应用程序中的资源,例如Windows Phone应用程序.然后作为儿童过程启动游戏. 原始应用: 您也许可以将Unity3D创建的Windows Phone应用程序嵌入现有Windows Phone应用程序中的资源.您可以将其作为儿童过程产生? Web游戏 但是,没有什么可以阻止您在Unity3D中制作游戏并生
0 2024-04-15
编程技术问答社区
确定在一个文本文件中使用什么行结尾
C#确定文本文件中使用的行结尾的最佳方法是什么(UNIX,Windows,Mac)? 解决方案 请注意,文本文件可能存在不一致的行结尾.您的程序不应扼杀.在StreamReader上使用ReadLine(以及类似的方法)将自动处理任何可能的线. 如果您手动从文件中读取行,请确保接受任何线结尾,即使不一致.实际上,使用以下算法非常容易: 向前扫描,直到找到CR或LF. 如果您阅读CR,请窥视下一个字符; 如果下一个字符是LF,请消耗它(否则,将其放回). 其他解决方案 这是一些高级猜测:阅读文件,计数CRS和LFS if (CR > LF*2) then "Mac" else if (LF > CR*2) then "Unix" else "Windows" 还请注意,较新的Mac(Mac OS X)使用Unix Line Endings 其他解决方案 我只搜索文件第一个\r或\n,如果是\n,我会查看以前的字符,以查看是否是\r,如果是
0 2024-04-15
编程技术问答社区
C#预处理程序区分操作系统
是否可以使用preprocessor在C#中区分操作系统?喜欢: #if OS_WINDOWS //windows methods #elif OS_MAC //mac methods #elif OS_LINUX //linux methods #endif 解决方案 您要要求的是可能的,但需要一些工作. 在csproj 中定义预处理器变量 _WINDOWS 在您的代码中使用它 #if _WINDOWS // your windows stuff #else // your *nix stuff #endif 当您具有依赖OS的常数(例如本地库名称) 时,我发现这种技术很有用 其他解决方案 否.可悲的是你不能.它甚至是合乎
0 2024-04-14
编程技术问答社区
Monocross和Monotouch(xamarin)之间的区别?
我现在正在用其他解决方案(例如 单克? 任何人都可以解释何时使用单触摸和何时单骨. 这些框架W.R.T本机应用程序开发的优势和缺点是什么? 解决方案 单座是一个跨平台MVC框架.作为一个框架,它是开源的.但是您需要单触摸或单声道才能在设备上部署. 那两个东西没有比较.他们总结. 使用Holocross或MVVMCross等工具,您确实获得了一个交叉图代码共享框架,这是您用母语编码的优势. 其他解决方案 只是为了尝试以视觉添加到斯蒂芬的答案中,这是一个略微改编的图表: 请注意,您不必使用共享库,例如单克,MVVMCross等.您始终可以编写自己的体系结构.这就像在Web应用程序中一样 - 您不必使用WebForms,ASP.NET MVX,FUBUMVC等 - 您可以只使用请求和响应,然后更直接地与Web服务器进行交谈. 因此,您只需编写自己的代码即可使您的应用程序适应每个平台,例如: 您应该采用的哪种方法 - 取决于您和您的应用程
0 2024-04-13
编程技术问答社区
如何在xamarin.forms中从谷歌电子表格中读取数据
我正在寻找一种直接从Google Sheets读取数据的方法.有人知道如何在 xamarin.forms 中做到这一点吗? 使用Install-Package Google.Apis.Sheets.v4 package with Windows表格访问Google sheets 我使用以下链接: 解决方案 我创建了以下解决方案,对我来说很好: 您需要使用 JSON Google表的结果,尝试使用以下步骤: 1-PAMBERISH google表格以获取 api 链接,该链接返回 json ,如以下表: 2您需要从 json 中生成 c#类,也许您可​​以使用 http://json2csharp.com 获得 c#类和RootObject./p> 3-添加以下代码: HttpClient client = new HttpClient(); string URL = "https://spreadsheets.google.com
0 2024-04-13
编程技术问答社区
从本地C++调用C#,不需要/clr或COM?
我有一个用C#写的类库,我想从旧版本机C ++应用程序中调用它.主机应用程序是真正的本机,在Windows和Linux上编译,并且是控制台应用程序.因此,如何将其称为C#类库,假设在Windows上使用Microsoft .NET,而单声道在Linux上? 我看了看解决方案应将整个类界面从C#域暴露到C ++域. 类似的问题仅关注Windows解决方案,例如 - 解决方案 如果您想执行此跨平台,我建议使用100%的单声道方法进行. 单声道有一个干净的嵌入API 可在Linux和Windows上使用的API . 其他解决方案 使用.NET 5.0(.NET Core的后继产品)这是现在可能在不使用单声道的情况下以跨平台方式调用C ++.请参阅解释的解决方案这样,您将获得一个可以从C或C ++使用的共享库.请注意,这将给出类似C的API(没有对象,例如在C ++中使用extern C时),将来可能会有C ++之类的工具来克服此限制.
0 2024-04-12
编程技术问答社区
跨语言(java和c#)对象序列化的策略
我正在从事一个项目,我需要在Java 6应用中序列化一些数据,并将其序列化C#2.0应用程序.我能看过这两种语言的策略或已经存在的东西吗?我猜他们俩都支持XML序列化,但我确实需要它被二进制序列化. 解决方案 协议缓冲区将是一个不错的选择.在c#方面,我建议乔恩·斯基特(Jon Skeet案例,由于双方都具有相同的API(他的C#版本是Google Java版本的端口,是核心发行版的一部分).如果您希望C#更"典型.net",则 proteobuf-net 可能会有所帮助. (电线格式在版本之间显然相同; API可能会有所不同) 小,快速,高效, portable .. 有关信息,i 知道 protobuf-net具有.NET 2.0支持;老实说,我没有在乔恩(Jon)的版本上尝试过,但是我期待会 - 在Protobuf中,您不需要3.0/3.5. 其他解决方案 协议缓冲器( Google站点) java tutorial jon skeet的C
0 2024-04-12
编程技术问答社区