FileNotFoundException: Could not load file or assembly Syncfusion.sfpopuplayout.XForms - xamarin.forms

I'm not sure how to resolve this. During runtime, I'm getting an initialization error
System.IO.FileNotFoundException: Could not load file or assembly 'Syncfusion.SfPopupLayout.XForms, Version=18.4451.0.33, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.
The file (if this is the correct one) exists here:
C:\Users....nuget\packages\syncfusion.xamarin.sfpopuplayout\18.4.0.33\lib\netstandard2.0\Syncfusion.SfPopupLayout.XForms.dll
This is happening in the constructor of my ContentPage.
The Dependencies/Packages folder shows Syncfusion.Xamarin.SfPopupLayout(18.4.0.33). I see the error is reporting 18.4451.0.33. Is that a significant difference ? What do I do ?
Thanks.
EDIT: I have installed the latest version of this package, using nuget.

Install the Syncfusion.Xamarin.SfPopupLayout from NuGet.
After that, you could use this control.
Xaml:
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:d="http://xamarin.com/schemas/2014/forms/design"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:sfPopup="clr-namespace:Syncfusion.XForms.PopupLayout;assembly=Syncfusion.SfPopupLayout.XForms"
mc:Ignorable="d"
x:Class="Test.MainPage">
<sfPopup:SfPopupLayout x:Name="popupLayout">
<sfPopup:SfPopupLayout.Content>
<StackLayout x:Name="mainLayout">
<Button x:Name="clickToShowPopup" Text="ClickToShowPopup"
VerticalOptions="Start" HorizontalOptions="FillAndExpand"
Clicked="ClickToShowPopup_Clicked"/>
</StackLayout>
</sfPopup:SfPopupLayout.Content>
</sfPopup:SfPopupLayout>
</ContentPage>

I have prepared sample and checked the SfPopupLayout in the mentioned NuGet version of 18.4.0.33 and it is working fine. Attached tested sample in the in the following link
sample [link]: https://www.syncfusion.com/downloads/support/directtrac/general/ze/PopupLayout112920991
Please check shared project and revert us if the reported issue is occurring in this sample too, if not check your project file maybe you installed more than one version of SfPopupLayout package.
Regards,
Pradeep Kumar B

Related

Compilation error on consuming and building .NetStandard library using MS Build

I have a couple of projects in my solution, migrated one of the class library to .netstandard(ModelLib) which is consumed by .net472 class library(serviceLib). The serviceLib is again referenced by another .net472 class library(apiLib). This apiLib is used in my asp.net website project.
Now, build works fine in VSStudio 2019, but fails when building using MS Build in test environment.
I get the following error and Build log says:-
c:\buildagent\xxxx\xxxx\web.config(186,0): error ASPCONFIG : Error ASPConfig: Could not load file or assembly 'apiLib' or one of its dependencies, the system cannot find the file specified.
The webconfig looks like this and line#186 is
<compilation debug="true" targetFramework="4.7.2">
<assemblies>
<add assembly="apiLib" />
</assemblies>
</compilation>
I checked the file in bin folder, the apiLib is missing.
Is there any .net version compatibility issues here?
Anybody faced similar issues and why apiLib is not copied into bin ? Is it something related to .NetStandard Project? Please help at the earliest..
Note: I haven't changed any package reference style of apiLib or similar libraries.
Thanks in advance.

Can't install NuGet package Serilog.Sinks.*

I am facing a problem to install packages of Serilog.Sinks in an old project, e.g. when I try installing Serilog.Sinks.MSSqlServer I get the following error:
An error occurred while retrieving package metadata for Serilog.2.6.0
I have already installed package Serilog.2.6.0 and the process went fine, I tried running the code that uses this library and it works okay, but in case I try to uninstall this package I get the error:
Object reference not set to an instance of an object
Thus, I think that something might be wrong with Serilog.2.6.0 in my machine, since I cannot uninstall it or install any of its sinks, but I can't figure out the problem.
Details:
Visual Studio 2015
.NET Framework 4.5 Web Forms
Hi this worked for me nugget install Serilog.Sinks
If you can't uninstall your nuget via package manager console or with Nuget Package Manager, you still have the option to uninstall it. Open your package.config file.
Looks like this:
<packages>
<package id="Respond" version="1.2.0" targetFramework="net461" />
<package id="Serilog" version="2.6.0" targetFramework="net461" />
<package id="WebGrease" version="1.5.2" targetFramework="net461" />
</packages>
There you will find the id of Serilog your dependency with the version associated. Remove that line. And then unload your project, edit it, there you will find the HintPath of Serilog:
Looks like this:
<Reference Include="Serilog, Version=2.0.0.0, Culture=neutral, PublicKeyToken=24c2f752a8e58a10, processorArchitecture=MSIL">
<HintPath>..\packages\Serilog.2.6.0\lib\net46\Serilog.dll</HintPath>
<Private>True</Private>
</Reference>
Then the package Serilog could be uninstalled complete by manually.
Besides, if you re-install that package still get the same error after uninstall it, this issue should be more related to the NuGet rather than the package Serilog.
In this case, please try to uninstall the NuGet Package Manager for Visual Studio 2015 from Tools->Extensions and Updates, restart Visual Studio. Then install the latest version NuGet:
https://dist.nuget.org/visualstudio-2015-vsix/latest/NuGet.Tools.vsix
After the installation is completed, Reopen the Visual Studio in Administrator mode (right-clicked Visual Studio and started in Administrator mode), try to install that package again, check if it works fine.
The thing that worked for this case, from those I tried, is copying the references (.dll files) from another project where they're working fine. Thank you for your answers! :)
It works fine with me with the following package.config setting:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Serilog" version="2.6.0" targetFramework="net461" />
<package id="Serilog.Exceptions" version="4.1.0" targetFramework="net461" />
<package id="Serilog.Sinks.File" version="3.2.0" targetFramework="net461" />
</packages>

asp server error ' Could not load file or assembly ' but the assembly is definitely there.

I am currently getting the following error. On a locahost website.
Could not load file or assembly 'MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Though, the reference is definitely there in the references folder and that dll is definitely on my local machine in the place it is pointing to. I have also tried deleting and re-adding the reference.
Does anyone know what would cause this error?
Also what is the assemblys manifest definition?
Thanks in advance for the help, I very much appreciate it.
in visual studio select the reference in the solution explorer then in the properties make sure the Specific Version property is set to false.
If you have an entry for this reference in the web.config, edit the file and remove the version information.
if you close visual studio and open the project file with a text editor, make sure in the project file the version of the assembly is not listed but only the name and type, so just remove the following:
, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d'
then it should work no matter if you are using the 6.5.5 or 6.5.4, as long as the code is using classes and methods available in both.
I have experienced the same situation and managed to fix the problem with these steps,
Read the error information carefully which provides helpful details to rectify the situation.
I wouldn't change the machine.config file.
As it says Application cannot find a reference to the assembly MySql.Web and the version it is trying to reference is Version=6.7.4.0.
Based on path you install MySql you will be able to find the correct assembly files, ex :
C:\Program Files\MySQL\Connector NET 6.7.4\Assemblies\v4.0\MySql.Data.dll
Copy that file to bin folder. (I would copy all the files in C:\Program Files\MySQL\Connector NET 6.7.4\Assemblies\v4.0\ folder to bin folder)
Hope this helps! Thanks
I have encounter the same problem very few days ago , you get this error when you have build your some DLL with earlier version and now you have change the dependent DLL version but had not build the DLL again . Please check if you have any component which was build on the earlier version . While we build any DLL , DLL it self in the manifest add all the dependency information so that it can load all of them when required . So if you remove that version of DLL you need to recompile all the component and then use
This problem persists also in newer version of MySql.Data. Just change the version from App.config file:
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.6.5.0" newVersion="6.6.5.0" />6.7.4.0
to oldVersion="6.6.5.0"
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
<bindingRedirect oldVersion="6.6.5.0" newVersion="6.7.4.0" />
I had this in an older asp.net 2.0 website on a new machine. In my case, the MySql assembly from the GAC could not be loaded because it was .Net 4.0. Assembly redirect in web.config did not work. I fixed it as follows:
Download the specific version of MySql.Web and MySql.Data from nuget:
https://www.nuget.org/api/v2/package/MySql.Web/6.5.4
https://www.nuget.org/api/v2/package/MySql.Data/6.5.4
Open the downloaded packages with a zip tool (e.g., 7zip) and extract the .Net 2.0 assemblies into the bin directory of the malfunctioning asp.net site.
I was getting the same error and the file absolutely existed.
If you see a SGEN next to your error, you can try this:
In the project properties window go to Build and in the Output section go to the Generate serialization assembly dropdown. Change the value Auto to Off and Build again.
You can set it back to auto if you need it.
In some situations, it depends on bindingRedirect attributes in web.config file of the project. In my case, I had two version: olderVersion and newVersion. I just switched those values and it solves the problem.
WARNING: Be sure that the newer version is referenced into web.config assemblies' tag file just as :
<add assembly="$AssemblyName", Version=$NewVersion, Culture=neutral, PublicKeyToken=$KeyToken/>

EventToCommand not working when migrate to v4 for SL5

I have SL4 app with MVVMLight. I migrate it to SL 5 and got following error when compiling the app:
The tag 'EventToCommand' does not exist in XML namespace
'clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.SL5
The xaml for this error is:
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:cmd="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.SL5"
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseLeftButtonUp">
<cmd:EventToCommand Command="{Binding ResetPasswordCommand,Mode=OneWay}"
MustToggleIsEnabledValue="True" />
</i:EventTrigger>
</i:Interaction.Triggers>
quite confused. Have update all assemblies for new platform. How to resolve this problem?
Figure it out: should use assembly=GalaSoft.MvvmLight.Extras.SL5 instead of assembly=GalaSoft.MvvmLight.SL5.
Thanks.

(ASP.NET) Project file must include 'WindowsBase, PresentationCore, PresentationFramework'

I'm seeing an inscrutable compile error in my ASP.NET application.
Project file must include the .NET Framework assembly 'WindowsBase, PresentationCore, PresentationFramework' in the reference list
That's the WPF assembly. My project is ASP.NET. Has anyone ever encountered this before?
Even stranger, the project was compiling before I started messing around with my .resx files due to a different issue. Then suddenly this nonsensical error appeared.
This happens if you have a file in your project with its Build Action set to Resource. (which is used for WPF embedding)
Find the offending file and change its Build Action.
I had the following in the csproj file:
<Page Include="BuildProcessTemplates\DefaultTemplate.11.1.xaml">
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="BuildProcessTemplates\LabDefaultTemplate.11.xaml">
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="BuildProcessTemplates\UpgradeTemplate.xaml">
<Generator>MSBuild:Compile</Generator>
</Page>
Changing it to below fixed the problem:
<Content Include="BuildProcessTemplates\DefaultTemplate.11.1.xaml" />
<Content Include="BuildProcessTemplates\LabDefaultTemplate.11.xaml" />
<Content Include="BuildProcessTemplates\UpgradeTemplate.xaml" />

Resources