Xamarin & XPO System.NotSupportedException: Encoding 1252 data could not be found. Make sure you have correct international codeset assembly installed and enabled.

Xamarin & XPO System.NotSupportedException: Encoding 1252 data could not be found. Make sure you have correct international codeset assembly installed and enabled.

You know that moment when you are about to deliver your next mobile app, everything is working fine in your development environment but once you release the app to your customers you start getting errors like the one below

You think, what happened? everything was running fine on my development environment. Well, lets said that when you compile your Xamarin application the main goal of the compiler and the linker is reduced the size of the app, so a lot of things get stripped out of the final release.

Some of the things that are stripped out of the final release are the code pages and that can cause crashes in your app not because your code depends on them but because of some nugets or third-party libraries do.

So to avoid having the exception “System.NotSupportedException: Encoding 1252 data could not be found. Make sure you have correct international codeset assembly installed and enabled” you just need to explicitly add code page to your application

For iOS projects, include it by checking west under Project Properties -> iOS Build -> Internationalization:

 

For Android projects, include it by checking west under Project Properties -> Android Build -> Linker -> Internationalization:

For visual studio for windows here are the screenshots

iOS

Android

The credit goes to this post, that saved my life fixing this error StackOverflow

 

XPO for Xamarin Forms Webinars (English & Spanish)

XPO for Xamarin Forms Webinars (English & Spanish)

XPO is Developer Express Object Relational Mapping (ORM) tool for the .NET framework that allows you to rapidly create a data access layer for your applications.XPO 18.2, which is a mature and stable version of XPO that runs on DotNet, DotNetCore and Xamarin. This course will teach you how to get the best performance out of XPO in Xamarin Forms

Don’t miss the opportunity to learn how to use the best ORM in the dot net world in your next Xamarin application

Webinar Schedule

May 15, 2019, Spanish language

May 22, 2019, English language

XPO for Xamarin Forms Webinars (English & Spanish)

XPO para Xamarin Forms, May 15 2019 (Lenguaje Español)

En el seminario web, aprenderá a aprovechar los conocimientos existentes de XPO y a usarlos para desarrollar aplicaciones móviles con Xamarin Forms

Fecha

Miercoles 15, 2019, 10:00 A. M hora de los Angeles (UTC-7)

Duracion

3 Horas

Lenguaje

Español

¿Qué obtendrá después del webinar?

  • Acceso al repositorio privado de GitHub con ejemplos de código para cada tema
  • La sesión de Webinar grabada

Lista de temas

  1. Instalación de XPO para Xamarin Forms (Android e iOS)
  2. Inicializar la base de datos local y el esquema
  3. Conexiones locales con SQLite: instalación de paquetes necesarios para Android e iOS
  4. Conexiones locales con XML: creación de un archivo XML base
  5. Conexiones remotas: conexión de base de datos directa con TCPIP (red LAN)
  6. Conexiones remotas: la capa de acceso a datos de WCF
  7. Inicializar la capa de datos
  8. Enlace (binding) de datos MVVM
  9. Enlace de propiedades primitivas
  10. Enlace de propiedades de navegación
  11. Cargando colecciones (la forma tradicional)
  12. Cargando colecciones asincrónicas
  13. Cargando un solo objeto de forma asíncrona
  14. Las paginaciones en colecciones
  15. Como reducir la carga de datos con XPView
  16. Colecciones observables con BIT. Xpo. observables

Requisitos previos

  • Comprensión básica de Xamarin Forms
  • Comprensión básica del patrón de diseño MVVM
  • Conocimiento básico de XPO

Precio

€99,00 EUROS

[wpecpp name=”xamarin xpo es” price=”99.00″ align=”left”]

Nota

Si está interesado en este curso o tiene alguna duda póngase en contacto con nosotros en training@bitframeworks.com

 

XPO for Xamarin Forms Webinars (English & Spanish)

XPO for Xamarin Forms, May 22, 2019 (English language)

In the webinar, you will learn how to leverage your existing knowledge of XPO and using it to develop mobile applications using Xamarin Forms

Date

May 22, 2019, 10:00 A.M Los Angeles time (UTC -7)

Language

English

What will you get after the webinar?

  • Access to the private GitHub repository with code examples for each subject
  • The recorded webinar session

Subject list

  1. Installing XPO for Xamarin forms (Android and iOS)
  2. Initializing local database and schema
  3. Local connections with SQLite: Installing packages necessary for Android and iOS
  4. Local connections with XML: Creating a base XML file
  5. Remote connections: Direct database connection with TCPIP (LAN network)
  6. Remote connections: WCF Data access layer
  7. Initializing Data layer
  8. MVVM Data binding
  9. Primitive properties
  10. Navigation properties
  11. Loading collections (the traditional way)
  12. Loading collections async
  13. Loading single object async
  14. Paging collections
  15. Reducing data loading with XPView
  16. Observables Collections with BIT.Xpo.Observables

Prerequisites

  • Basic understanding of Xamarin Forms
  • Basic understanding of MVVM design pattern
  • Basic understanding of XPO

Price

€99,00 EUROS

[wpecpp name=”xamarin xpo en” price=”99.00″ align=”left”]
 



Signup

If you are interested in this course or you have any doubt please contact us at training@bitframeworks.com

 

Migrating XAF projects to the new version of csproj (SDK project VS2017)

Migrating XAF projects to the new version of csproj (SDK project VS2017)

For a while now I have been trying to create a framework for XAF (yes I know XAF is already a framework) but it was too difficult to handle the different version of XAF and upgrade the solution from version to version.

Luckily for me, DevExpress team decided to publish all their DLLs as nuget packages, you can learn more about that here. But there was still one problem for me, at that time they did not include the nugets for XAF, later that year (2018) they decided to publish the nugets for XAF, you can read about it here

Now I have all the pieces to create the project template for the modules of my framework, at least that is what I thought, there was still one more stone in my path and it was the csproj file. At this moment (version 18.2.x) XAF project templates are based on visual studio 2015 project format, so the way the projects handles nuget references is based on the old standard packages.config, another problem is that if you want to package your module as a nuget you have to use the old package.nuspec.

So let’s migrate our XAF module project to the new version of csproj, but first take a look to the old version of the file in the image below

 

Once you have a XAF solution open on visual studio these are the steps to do the migration

1) Right click on your module file and select “Unload Project”

2) Now that the project us unloaded it will appear unavailable in the solution explorer, so we can right click over it and select “edit”

4) Delete all the content of your csproj and replace it with this XML, you can also change the version of nuget files, in this case, I’m using 18.2.6


<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>net452</TargetFramework>
    <GenerateAssemblyInfo>true</GenerateAssemblyInfo>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="DevExpress.ExpressApp.Security.Xpo" Version="18.2.6" />
    <PackageReference Include="DevExpress.ExpressApp.Validation" Version="18.2.6" />
    <PackageReference Include="DevExpress.Persistent.BaseImpl" Version="18.2.6" />
  </ItemGroup>

  <ItemGroup>
    <Folder Include="Properties\" />
  </ItemGroup>
</Project>

5)Delete the file AssemblyInfo.cs from the properties folder

 

Congratulations you have successfully migrated your csproj file

Now some advantages and disadvantages of this new csproj format

Advantages
  1. Smaller project file easy to edit
  2. improved usage of nuget packages
  3. its easier to pack your module as a nuget
Disadvantages
  1. You can not use the Devexpress add item context menu because it will add references to local assemblies
  2. The module designer stop working so you have to do all your module configuration in code