Xamarin forms Multilingual not picking other language key - xamarin.forms

I am trying Xamarin forms a Multilanguage demo. In this, I tried both the options
1) plugin. Multilanguage package
2) static resource(without plugin).
I just downloaded the demo from the following site
1) https://github.com/CrossGeeks/MultilingualPlugin
2) https://learn.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/localization/text?pivots=windows
But both the demo not picking another language key. I appreciate your help.

This is an error after Visual Studio update (Version 8.6 (build 4520)). There is a workaround to use the Last stable version of Android SDK.
In Android.csproj, at the last line (inner the tag project) add the follow lines:
<Target Name="_ResolveSatellitePaths" DependsOnTargets="_ResolveAssemblies">
<ResolveAssemblyReference AllowedAssemblyExtensions="$(AllowedReferenceAssemblyFileExtensions)" AssemblyFiles="#(ResolvedUserAssemblies)" AutoUnify="$(AutoUnifyAssemblyReferences)" FindDependencies="True" FindRelatedFiles="False" FindSatellites="True" SearchPaths="$(AssemblySearchPaths)" TargetFrameworkMoniker="$(TargetFrameworkMoniker)" TargetFrameworkMonikerDisplayName="$(TargetFrameworkMonikerDisplayName)" TargetFrameworkDirectories="$(TargetFrameworkDirectory)">
<Output TaskParameter="SatelliteFiles" ItemName="_AndroidResolvedSatellitePaths" />
</ResolveAssemblyReference>
</Target>
EDIT:
there is already a VS update that solves this problem.

Related

How to check whether the .NET 6 runtime is installed

As part of installation of a WPF application using .NET 6 and a WiX installer, I would like to check whether the .NET 6 runtime is installed.
WiX provides pre-defined properties to check this for .NET framework but nothing for .NET Core and beyond so I am attempting to check for the presence of a registry key.
There is a registry key that can be checked under: HKEY_LOCAL_MACHINE\SOFTWARE\dotnet\Setup\InstalledVersions\x64\sharedhost\Version
However, if I uninstall the runtime the registry key does not get removed, is there any other reliable way to check whether the runtime is installed, as well as which version is installed?
WiX 3 currently doesn't handle this natively. It is being worked on for WiX v4 (GitHub issue). Reading the issue led me to these tools as a current workaround.
https://www.nuget.org/packages/Microsoft.NET.Tools.NETCoreCheck.x86
https://www.nuget.org/packages/Microsoft.NET.Tools.NETCoreCheck.x64
You can use the files inside of these packages to check for a runtime. Either by running NetCoreCheck.exe directly or using the custom action DLL provided.
NetCoreCheck.exe -h to see help. But you'll want something like this:
netcorecheck --runtimename Microsoft.NetCore.App --runtimeversion 6.0.0
I don't know how to use the custom action dll but I do see it has two DLL exports.
ordinal hint RVA name
1 0 00001500 CheckNETRuntime
2 1 00002260 get_hostfxr_path
You may use the Custom Action DLL mentioned in Hank's answer if you want to integrate this in your WiX project.
You can use the NuGet package to obtain the dll.
Unfortunately there seems to be no documentation in existence for this DLL, so I used the source code to figure out how this works.
First you need to define a few properties that are used as input parameters for the .NET runtime check, and for the result of the check.
<Property Id="CheckNETRuntime_Framework" Value="Microsoft.AspNetCore.App" />
<Property Id="CheckNETRuntime_Version" Value="6.0.0" />
<Property Id="CheckNETRuntime_Result" />
CheckNETRuntime_Framework is the framework to search for. There are currently 3 options:
Microsoft.NETCore.App
Microsoft.AspNetCore.App
Microsoft.WindowsDesktop.App
CheckNETRuntime_Version is the version of .NET to look for.
The result will be stored in CheckNETRuntime_Result. A value of 0 indicates the runtime was found, any other value indicates it was not found.
To run the custom action, do this:
<Binary Id="CustomActions" SourceFile="NetCoreCheckCA.dll" /> <!-- This should be the path to the dll -->
<CustomAction Id="CheckRuntime" Return="ignore" BinaryKey="CustomActions" DllEntry="CheckNETRuntime" />
<InstallExecuteSequence>
<Custom Action="CheckRuntime" Before="LaunchConditions" />
</InstallExecuteSequence>
<InstallUISequence>
<Custom Action="CheckRuntime" Before="LaunchConditions" />
</InstallUISequence>
Note: you need to add Return="ignore" if you do not want the installer to fail when the runtime was not found (as the return value if not 0, which indicates a failure).
The CheckNETRuntime_Result property can be used elsewhere in your setup, for example you could use it in a condition:
<Condition Message=".NET 6 runtime is not installed">
<![CDATA[CheckNETRuntime_Result=0]]>
</Condition>

Building iOS with Ionic 4 and cordova google plugins

when i try to add ios as new platform to my working android ionic 4 app i get tons of these messages:
[!] Found multiple specifications for GoogleDataTransport
(3.2.0):
- /Users/haraldwiesinger/.cocoapods/repos/cocoapods/Specs/0/6/a/GoogleDataTransport/3.2.0/GoogleDataTransport.podspec.json
- /Users/haraldwiesinger/.cocoapods/repos/trunk/Specs/0/6/a/GoogleDataTransport/3.2.0/GoogleDataTransport.podspec.json
[!] Found multiple specifications for GoogleUtilities (6.4.0):
- /Users/haraldwiesinger/.cocoapods/repos/cocoapods/Specs/0/8/4/GoogleUtilities/6.4.0/GoogleUtilities.podspec.json
- /Users/haraldwiesinger/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/6.4.0/GoogleUtilities.podspec.json
after reading a long time in existing tickets from github in these cordova plugins.. i found out that it has something to do with incompatible versions of the google services and the pod files the plugins are using.
i am using cordova-plugin-firebasex and cordova-plugin-googleplus.
the solution for others was to run pod update and pod install in their ios folder.. but i cant create the platform cause of these errors.. so i cant run the commands there.
i also tried to update the version of plugin.xml:
<pod name="GoogleUtilities" spec="~> 6.13.0"/>
from both plugins to the same value, but the error still exists
anyone have an idea how to fix this?
found workaround solution:
file: plugins/cordova-plugin-googleplus/plugin.xml
<podspec>
<config>
<source url="https://cdn.cocoapods.org/"/>
</config>
<pods use-frameworks="true">
<pod name="GoogleSignIn" spec="~> 4.4.0"/>
<pod name="GoogleUtilities" spec="~> 6.4.0"/>
</pods>
</podspec>

how to use of cordova sqlite plugin in android studio

I develop a Cordova project that use Sqlite plugin , It works as expected
But for some reasons i import that in android studio with follow this article
http://www.catharinegeek.com/embed-cordova-webview-in-android-native-app/
you can see project structure in below for details
project structure image
when i run project i got this error
"java.lang.UnsatisfiedLinkError: Couldn't load sqlc-native-driver from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.cyan.amir.calendarplusevent-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.cyan.amir.calendarplusevent-1, /system/lib, /system/lib/arm, /data/downloads]]]: findLibrary returned null"
at java.lang.Runtime.loadLibrary(Runtime.java:358)
at java.lang.System.loadLibrary(System.java:526)
at io.liteglue.SQLiteConnector.<init>(SQLiteConnector.java:8)
at io.sqlc.SQLiteConnectorDatabase.<clinit>(SQLiteConnectorDatabase.java:36)
at io.sqlc.SQLitePlugin.openDatabase(SQLitePlugin.java:227)
at io.sqlc.SQLitePlugin.access$000(SQLitePlugin.java:35)
at io.sqlc.SQLitePlugin$DBRunner.run(SQLitePlugin.java:398)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)
I dubug that and i found code break in this line :
this.cordova.getThreadPool().execute(r);
of SQLitePlugin.java file
I test Cordova project with visual studio 2015 and that works correctly
how can i use sqlite plugin added to cordova in android studio?

DNN 6.02.08 Upgrade to 7.02.02 FromsAuthentication module Error

I have to upgrade may DNN 6.02.08 environment to the 7.02.02.
I have follow the upgrade process carefully and the upgrade is successful, but I am facing this error : Module not found :
'Boolean System.Web.Security.FormsAuthentication.get_IsEnabled()'
I have upgrade from DNN 6.02.07 to DNN 6.02.08 without errors, and I use the suggested upgrade path found on that link :
http://www.dnnsoftware.com/wiki/page/suggested_upgrade_path
What can I do to resolve this issue ? is this a major change between DNN 6.x to DNN 7.x FormsAuthentication function ?
I really don’t found a response on the web and forums so thanks for help.
The biggest problems I encounter when upgrade from early versions of DNN (5 or 6) to a latter version of DNN7 usually are solved my comparing and merging web.config changes after the upgrade is finished.
Here is one interesting and VERY annoying problem. In some version of DNN 7.1 or 7.2 or something, DNN changed the assembly that houses the SQlDataProvider. So in a DNN 6 web.config you will see the following line:
<add name="SqlDataProvider"
type="DotNetNuke.Data.SqlDataProvider, DotNetNuke.SqlDataProvider" ... />
But in the DNN 7.3.4 web.config, the line looks like this:
<add name="SqlDataProvider"
type="DotNetNuke.Data.SqlDataProvider, DotNetNuke" ... />
Notice the assembly changed from DotNetNuke.SqlDataProvider to the core DotNetNuke assembly. There are other examples of these types of changes that get missed in the upgrade events sometimes. Just use a text compare tool on your web.config with the one from the latest DNN install package and merge these discrepancies.

How to download a specific version of ASP.NET MVC 5 source code

I'm looking for ASP.NET MVC 5.0 RTM source code. I've tried to download this from http://aspnetwebstack.codeplex.com/ but it seems to have only the most recent version 5.1.1 RTM. I've tried with no success to download for a specific tag or branch. In Source Code tab, in field "Browsing Changes in" the only options are "master" or "v3-rtm".
Could someone help me with this?
As per their wiki:
MVC 5.2.3 RTM = v3.2.3 (commit 0e974218e12a)
https://aspnetwebstack.codeplex.com/SourceControl/changeset/view/0e974218e12a
MVC 5.2.2 RTM = v3.2.2 (commit 66298100f4e3)
https://aspnetwebstack.codeplex.com/SourceControl/changeset/view/66298100f4e3
MVC 5.1.3 RTM = v3.1.3 (commit 0150245a9e34)
https://aspnetwebstack.codeplex.com/SourceControl/changeset/view/0150245a9e34
MVC 5.1.1 RTM = v3.1.1 (commit 54866f0d3262)
https://aspnetwebstack.codeplex.com/SourceControl/changeset/view/54866f0d3262
MVC 5.0 RTM = v3.0 (commit 39391d3a64d7)
https://aspnetwebstack.codeplex.com/SourceControl/changeset/view/39391d3a64d7
MVC 4.0 RTM = v2.0 (commit 89b9166ca722)
https://aspnetwebstack.codeplex.com/SourceControl/changeset/view/89b9166ca722
In general way, if you have already cloned the repository. You can use the Git commands:
git show-ref --tags
Your will see something like:
89b9166ca72279fcb62bff67c6224993371ed765 refs/tags/v2.0
a1b7c04f72277e6dfc459d8d6948260d26ccc6c9 refs/tags/v2.0-rc
d4dab6e6c0b181ee56593a3a514faab7f407e1f2 refs/tags/v2.0.1
f276aa28c436c598e3c2a8e09d052e2b17630ab0 refs/tags/v2.0.2
75b5e7ea58d2a120242ff0d840600e33e9b65882 refs/tags/v2.0.3
26665357e13c050d298310e0f5c7925af32a66cd refs/tags/v2.0.4
1b78397f32fc13ea321647b5039755df4be58558 refs/tags/v2.1
235544cf12a25d2fd072c1eafec4c681c9d6068e refs/tags/v2.1-beta
f079d76e57b557d0215dbbaf5d398f64a74ebf90 refs/tags/v2.1-rc
39391d3a64d71ae735f7620ae082aea5f05cb0e0 refs/tags/v3.0
...
or
git tag -n
And all tags with their comments will be promped:
fbv1.0 Microsoft.AspNet.Facebook v1.0
fbv1.1 Upgrade ODataLib version from 6.7.0 to 6.8.0
fbv1.1-beta Microsoft.AspNet.Facebook 1.1.0 Beta
odata-v5.3 Update Microsoft.AspNet.Facebook version.
v2.0 Added copyright statements to files lacking it.
...
Select the version to download by the tag, and executed the git rev-parse command to get the id of the commit: For example:
> git rev-parse --short=12 v3.2.3
> 0e974218e12a //This is the first 12 characters of SHA commit.
With the first 12 characters of the SHA of the commit you can now build the url. For example:
Version 3.2.2 = https://aspnetwebstack.codeplex.com/SourceControl/changeset/view/66298100f4e3
Version 3.2.3 = https://aspnetwebstack.codeplex.com/SourceControl/changeset/view/0e974218e12a
...
or just call git checkout command:
git checkout v3.2.3
This might be helpful when looking for sources of concrete MVC/WebAPI/Web Pages version:
https://aspnetwebstack.codeplex.com/wikipage?title=Building%20from%20Source
Looks like the CodePlex repo, with all history, was migrated to GitHub!
https://github.com/aspnet/AspNetWebStack
They even have a milestone for ASP.Net MVC 5.2.4, although it seems somewhat dead:
https://github.com/aspnet/AspNetWebStack/milestone/1
The Releases tab contains the appropriate versions as per #outlookrperson's answer (basically, add 2 to the major version in the tag, e.g. tag 3.2.3 = MVC 5.2.3).

Resources