I am new in mvvmcross and I want start to developing an app using this framework but I don't know which PCL should I use and how to mount my solution.
In some videos people uses C# -> windows -> PCL, and then add android, ios projects one by one, but all the videos are too old.
I want to know if there are a newer (better) way to create my solution to use mvvmcross and xamarin.
Beacuse in VSCommunity 2015 see there are a cross-platform option, should I use this?
One more question, how can I fix the .Core, in the solution name? And the others .Ios, .Droid? If I create my project with name.Core all others projects become: name.Core.Ios, name.Core.Droid
It will make me in trouble when i have to use the namespace ?
The options?:
Using cross-platform
Using the old windows -> pcl like in videos
Have you had a look at the mvvmcross addin for Visual studio by JimBobBennett.
tools > Extensions and Updates > click Online > search for "Mvvmcross for visual studio"
then create a new project like so :
It will give a template that will create a solution with this structure:
Then just delete the projects you dont need.
Here is a link to the source code for that plugin if you want to take a look
Related
My team has built a Xamarin.Forms application using VS2017. We are using a Shared project because one of our core functionalities requires ESRI mapping, and ArcGIS Runtime for Xamarin does not support anything but Shared projects at this time.
The next app that my boss wants should be fairly quick to develop if I can use the existing code we've already written for the first app. However, I don't see any way that I can reference that code from another project. I have tried adding a new UWP project to the existing one, but then I have to add all the same NuGet packages, 90% of which are unnecessary to this new project. On top of that, it won't actually compile correctly since the App.xaml is different.
I've searched all over trying to find a solution to this, and haven't come up with anything. PCL is not an option, nor is .NET Standard. Is there any way to accomplish this?
As the title says, is this currently an option? As can be seen in the screenshot, I don't see an option for creating a crossplatform project in Visual Studio. Is there a way around this i.e. is the cross-platform option just there for conveniently setting up the project structure? If so, how should I do this?
The references others have posted are good, except that not all those projects are .Net Standard 2.0, so if you use them, you will need to upgrade later. But even without a current template, creating a Xamarin Forms F# solution is not hard:
Create a new .Net Standard C# Xamarin.Forms project. Delete the .Net Standard C# library, leaving the platform-specific parts.
Add a .Net Standard 2.0 F# library, install the Xamarin.Forms package, and connect the platform projects to it.
Define an App class in this library:
type SomeNamespace.App() =
inherit Xamarin.Forms.Application()
do base.MainPage <- ...
Refer to this in the (C#) platform projects: LoadApplication(new SomeNamespace.App());
Brand new install of Visual Studio Pro 2017, Prism Template Pack, and Xamarin Forms.
I am trying to create my first App and things are going very well so far. I have all the views, view models, etc. set and the app is functioning perfectly. Now I am trying to add some more PCL projects to the solution for things like Domain or Services, etc. so I can keep all the parts separated.
I can create a Xamarin Forms PCL just fine and add all my classes, etc. Problem comes when I try to add a reference to the Domain project from the main PCL project in the solution. I get the "targets of pcl don't match" error message.
This is what I am using to create the new PCL project:
This is the error message I receive when trying to add the PCL project reference:
What am I missing?
Here is the main PCL created with the template pack properties:
Here is the newly added PCL project properties:
PCL properties for template:
Since you are missing the Windows Phone & Silverlight targets in your IDE for some reason, this is a potential workaround:
Open up your .csproj files and make sure the TargetFrameworkProfile elements match up in both PCL projects.
Is it possible that you didn't install the tools for Windows Phone development when you installed Visual Studio?
I'm developing a xamarin forms class library (Custom Component) that targets (Windows, Androi and IOS) platforms "this library should be added to an existing Xamarin forms Portable project as DLL reference" and want to add a UI control and use it's native functions from inside the library. Custom renderers can't be added in PCLs so Can anyone help on how to access the control's native functionality?
You can start from scratch on your by following this piece of documentation by Xamarin on how to build NuGet packages. Then just make sure you build them without too much references and test them in your sample projects.
But to make your life a lot easier have a look at this Visual Studio extension by James Montemagno. It installs some project templates for you so naming is consistent and you have the basics already setup to start building your reusable code.
I'm trying to build an Android and iOS app with Xamarin using a shared PCL library. I'm following the tutorial on the Xamarin website [1].
I have created my PCL solution, which currently doesn't do anything, and I'm now trying to reference it from another Android solution.
The documentation indicates I should use References and then select Projects. However, when I do this, I can't either see or find a way to add my PCL library project as a reference.
How can I add my PCL library solution as a reference in another solution?
[1] http://developer.xamarin.com/guides/cross-platform/application_fundamentals/pcl/introduction_to_portable_class_libraries/#Using_PCL
A solution is just a container for one or more projects. One project can be included in multiple solutions. By including multiple projects in one solution you can reference them from one another, which will allow them to automatically build/update their dependencies when needed. You can add a new project to an existing solution by doing "Add New Project" in the solution explorer - you don't have to create a complete new solution for each project.