I want to create an app that runs in desktop mode when installing in Windows 7 and runs in metro mode when installing in Windows 8 (like google chrome).
I have Visual Studio 2013 and I can create apps than run in desktop mode or metro mode, but not both modes
In any case, thanks
Unfortunately that is not possible by designing one application. You need to create two different application and through the setup, understand which version the operating system has and install the corresponding version. Although you can take advantage of Portable Libraries (See Cross-Platform Development with the .NET Framework) to write most of your codes and then write the UI separately for each environment. The easiest way might be to design your application based on MVVM and then almost you need to write your Views twice one for Metro style and one for WPF application although the codes would be quite similar.
Related
I want to make a c# desktop app that runs on at least Mac and Windows. I use Mac. Is this even possible? I am not sure how do this, I have only found these options:
c# console application - This is close but I want to be able to have it open a window and have buttons, input fields etc. Im not sure how to do that.
Xamarian Forms - This seems to only work for Mac and mobile platforms
Mono - I have heard of Mono, Visual Studio for Mac says it is built on it and can be used to make cross-platform applications. How does it work? How do I use it? Is it just for the console application to work?
Thank you for any info you can provide.
There doesn't seem to be a visual editor for mac and windows alike, but using a library like Gtk# is working fine for me and allows me to make a gui application
I am trying to automated testing of windows apps using coded-ui-test project using vs2013 ultimate edition.
I can see those templates for C# desktop applications under test category and for phone application under windows phone category.
I cannot see such template for Windows Universal Apps.
How to automate universal apps?
If I choose the coded ui template available under category Store Apps -> Coded UI Test Project (Windows)
After project creation, recorder gives me a message "recording action steps is not supported for windows store apps"
I don't believe there is a CodedUI Test project for UWP. Since you're coding UI tests, you're test project should be targeting a specific device platform. There's CodedUI templates for Windows, and also Windows Phone. I would make two different CodeUI tests (one for Phone, one for Desktop), to make sure everything is working on either platform.
For testing common functionality, you can use unit tests.
Microsoft has not yet released support for recording step definitions for mobile or universal Windows apps. The recorder is there mainly to observe UI elements and to auto-generate code and assertions on elements that have been identified with automation ID's or point references which most of us wish to avoid. This is something I am currently dealing with an I'll update this question if and when I find solutions unless someone else beats me to it, which would be welcomed.
I have years of experience developing on microsoft development stack primarily visual studio 2012/c#. But right now, im required to develop app on linux. While i know c++, its been years since i really touch that. I have few questions.
Can i develop using mono and compile binary for linux and windows with no code(or minimal) code changes?
Can i develop on windows platform using visual studio 2012, compile for linux on window platform? do i need to use virtual machine for compiling for linux in windows platform?
How do you setup your development environment if you want to develop linux app on windows platform(develop on windows, compile for linux and windows. my linux box use for testing is a separate machine.)
Some info on what im working on.
My project is about network channel analysis. The client is cheap industrial linux box most probably with no ui. Im using mono/c# to develop the client. The server would be windows develop using vs2012 c#. Most probably using wpf as ui. Im planning to share network/communication library between linux(client) and windows(server). My primary concern for using linux is for cost saving since the client is almost thousand units.
thank you.
Mono runs executables in PE (Portable Executable) format, the native file format of Windows. There's no need to "compile for Linux", as long as your app is pure MSIL. And even if you use native DLLs through p/invoke, Mono and Wine work together to run the Windows files on Linux.
(The a.out and ELF executable formats used by native Linux applications don't have mechanisms for storing .NET metadata, the PE format was modified to support .NET, so that's what .NET Framework (not Micro Framework) implementations use regardless of platform)
The most important things to consider at the beginning are,
WinForms of Mono is problematic. Not only most third party controls won't work properly, but also libgdiplus itself is not 100% compatible with Microsoft's GDI+. It might appear to be a sweet option, but later you might still need to fight hard against the incompatibilities.
WPF is not an option as Mono does not support it yet.
GTK# is your best choice for UI, which blends naturally with Linux distros. If you refactor your Windows project properly, you should be able to share the non-UI code between your Windows and Linux solutions. This is what Mono guys recommend (not only use native UI frameworks for Windows, Linux, but also for Mac/MonoMac, iOS/Xamarin.iOS, and Android/Xamarin.Android).
So go back to your questions,
You should never wish for no code change for a real world project. No, that's impossible. As I said earlier, you have a chance to share most non-UI portion.
You can develop the non-UI portion and the Windows only portion using VS2012 and test them out on Windows. If you plan to use Mono's WinForms or GTK#, you must develop and debug on Linux using MonoDevelop. Thus, you need either a virtual machine or physical machine of Linux.
For me, I frequently switch between Linux/MonoDevelop and Windows/VS.
As Mono + C# is much more productive than using C/C++, many successful Linux apps are developed on Mono, such as Banshee and Tomboy.
You can use Visual Studio without problems but for example you cannot use WPF, while Windows Forms are ok. For more information what you can use visit: http://www.mono-project.com/Compatibility
Moreover there exists Mono tools which integrates with VS: http://www.mono-project.com/GettingStartedWithMonoTools
I know I need a mac to deploy but can I at least use my PC to develop the application? It would really help me a lot if I can develop on Windows where I can focus on writing the app.
This answer covers only Xamarin 2.0. Unfortunately I don't know MonoTouch.
Take a look at this statement about Xamarin 2.0:
Xamarin 2.0 bundles the company's Android, iOS and Mac development
tools in a single affordable package aimed at all tiers of developers.
The free Starter edition includes the Xamarin Studio IDE enables
developers to create Android, iOS and Mac apps using C#. However, the
free edition doesn't allow developers to exceed 32k of compiled IL
code and it cannot import or call upon any third-party libraries. The
$299 Indie edition removes this restriction. Things start getting
really interesting for .NET developers with Xamarin Studio's $999
Business edition. This version adds the ability to code iOS
applications within Visual Studio. Yes, you read correctly — code
iOS applications in Visual Studio! Granted, you still need a Mac to
compile and deploy the application to iOS devices (more on that
later), but the fact that you can use a familiar IDE to develop iOS
applications is a game changer.
To make it short: Yes you will need a mac to deploy your application and
yes you can develop on windows using Visual Studio.
Source: http://www.drdobbs.com/tools/xamarin-20-review/240150634
No you don't need the 1 k version to compile on windows. When you want to deploy your app you need to buy it! If u are making a app for windows 8 or whatever you dont need to pay. Monogame is a open source project. For the deployment to the phones your paying to the xamarin project.
"This means that your Xamarin iOS for Visual Studio installation requires a networked Mac OS-X computer to perform these tasks for you. Once configured, Xamarin’s tools will make the process as seamless as possible, but the fact remains that a Mac is required in addition to the Windows computer running Visual Studio."
So still need to hook up my mac and perform all the installations and configurations. Will take time but not a deal breaker I guess.
It is possible to use cloud build services for such a task. One such service worth giving a try is http://ship.io - they offer a free plan to get started.
Can anyone guide me, how can i create a metro app using Microsoft Visual Studio 2010.?
What are the templates needed to Create Metro Apps.
Updated :
If there are some third party libraries available, please let me know.
Metro development is purposed to be done in Windows 8 and Visual Studio 20212 environment. You can use Diskpart (Windows 7 command tool) together with Windows Automated Installation Kit to install a Windows 8 instance in parallel with your current system.
You need
1 ISO; http://www.microsoft.com/sv-se/download/details.aspx?id=5753
2 Automated Inst Kit: http://www.microsoft.com/sv-se/download/details.aspx?id=5753
3 About one-two hours (depends on your count on visual studio setup).
The result will be a file on your disk which is about 50-60GB. The bootloader will, after complete setup, give you both current Windows version and Windows 8 as option.
Perhaps you don't want to spend time on setup, so this may not be the answer you want to see. Which I fully understand. Though, there are several experience benefits using a complete Windows 8 environment. I can type a more detail on that, if requested.
Diskpart can be used like this,
create vdisk file=c:\VHD\Win8.vhd maximum=60000 type=expandable
select vdisk file=c:\VHD\Win8.vhd
attach vdisk
create partition primary
assign letter=v
After that, you can see the actual file which hold space for your virtual disk. In the source folder of the unpacked ISO file, you can find install.wim. That file will be used together with the next command based tool Automated Installation Toolkit.
imagex /info i:\sources\intall.wim
imagex /apply i:\sources\install.wim 1 v:\
Which will instantiate a silent installation from unpacked ISO to the boot disk.
Lastly the virtual boot file should be added as an optional bootup
C:\Windows\System32\bcdboot v:\Windows
From reboot and that you select Windows 8, the installation of Windows 8 will continue from the Metro design. Though after you type the product key. The best part of this, is that while in Windows 8, you still have full access to your current Windows drive.
Please note! This is a brief explanation of a process that make a Windows 8 installation without affect the current Windows, except take a lot of disk space.
You can't create Metro style apps directly in Visual Studio 2010 without using third party libraries e.g. DevComponents . Please do remember that it will be a winforms application which looks like metro style app.
For a real metro style app you have to use Visual Studio 2012 on Windows 8
Metro applications can only be developed on Visual Studio 2012.