eXpandFramework / eXpand

DevExpress XAF (eXpressApp) extension framework. 𝗹𝗶𝗻𝗸𝗲𝗱𝗶𝗻.𝗲𝘅𝗽𝗮𝗻𝗱𝗳𝗿𝗮𝗺𝗲𝘄𝗼𝗿𝗸.𝗰𝗼𝗺, 𝘆𝗼𝘂𝘁𝘂𝗯𝗲.𝗲𝘅𝗽𝗮𝗻𝗱𝗳𝗿𝗮𝗺𝗲𝘄𝗼𝗿𝗸.𝗰𝗼𝗺 and 𝘁𝘄𝗶𝘁𝘁𝗲𝗿 @𝗲𝘅𝗽𝗮𝗻𝗱𝗳𝗿𝗮𝗺𝗲𝘄𝗼𝗿𝗸 and or simply 𝗦𝘁𝗮𝗿/𝘄𝗮𝘁𝗰𝗵 this repository and get notified from 𝗚𝗶𝘁𝗛𝘂𝗯
http://expand.expandframework.com
Microsoft Public License
222 stars 115 forks source link

Xpand.ExpressApp.MasterDetail.Win error #949

Closed rodrigokiller closed 9 months ago

rodrigokiller commented 2 years ago

Hi. After I install the NuGet eXpandMasterDetailWin (v22.1.401) - Github, I get an error: Could not load file or assembly 'System.Interactive, Version=5.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263'. Reference assemblies should not be loaded for execution. They can only be loaded in the Reflection-only loader context. (0x80131058)

This error doesn't stop the app to run, but I can't get the app to work with MasterDetail mode, I am unable to create a dashboard inside Views, etc.

XAF: 22.1.4 .NET Core 6.0 Windows 11 WinForms

See the screenshots below:

image image image

apobekiaris commented 2 years ago

did you tried top install the System.Reactive package as prompted?

rodrigokiller commented 2 years ago

@apobekiaris yes, I've installed System.Reactive v.5.0.0, System.Interactive v.5.0.0 and after getting the same error, i tried System.Interactive v6.0.1, also with the same errors.

image

image

apobekiaris commented 2 years ago

is the assembly with the same version and signature located in your bin?

apobekiaris commented 2 years ago

the Systen.Reactive 5

rodrigokiller commented 2 years ago

yes, they have the same version. The serial number (certificate) in my bin folder is 0568a2bc0bd12e0753ace5f4d01748c0. I don't know if it has anything to do with the public token 94bc3704cddfc263. How can I audit that?

rodrigokiller commented 2 years ago

I'm still getting the error :/

-- Maybe its something on my computer. Every project that I created gives me the same error. But, now, even with the error, at least I bypassed the error and I am able to enter the model page to change settings :)

apobekiaris commented 2 years ago

I am unable to create a dashboard inside Views, etc.

the eXpandMasterDetailWin use the XtraGrid ChildGridView master detail functionality. From that comment I guess u interested in Xpand.Xaf.Modules.MasterDetail

Also from the shot I understand that the native model editor process suffers and this desing time error if so consider the XpandModelEditor. If this not desingtime then maybe you restarted the DevExpress.ExpressApp.Desing.ModelEditorServer.NetCore and release the missmatch assembly and load the better match.

rodrigokiller commented 2 years ago

Hi there. I've recorded two videos. The first one shows the error The second, I was trying to use "XpandModelEditor", but I got some problems too. I know that I said at some point something about xpand.xaf.modules.masterDetail, but I did not intend to do that. I want to use the eXpandMasterDetailWin module. Video 1 - Google Drive Video 2 - Google Drive Thank you.

apobekiaris commented 2 years ago

I suggest you improve your communication since you go for free support. Your videos are too long and cannot spent my time guessing. In any case a sample is required with repro instruction.

ps: at least for me the MasterDetail XVideoRental model opens fine although as I wrote here native Xaf MasterDetail view is the way to go, do not get tricked.

apobekiaris commented 2 years ago

https://supportcenter.devexpress.com/internal/ticket/details/T1112752

rodrigokiller commented 2 years ago

I suggest you improve your communication since you go for free support. Your videos are too long and cannot spent my time guessing. In any case a sample is required with repro instruction.

Hi there. I'm sorry, I do not understand what you mean by "improve my communication". If there is anything that you don't understand, feel free to ask me. I will gladly try to explain it in a different way. I apologize if I, at any time, was disrespectful. And yes, I do know how GitHub works. I'm just trying to describe my issue with details. I expected (maybe in a wrong way) that the video would help the devs to understand what is causing the error here. Every new project that I've created, on two different computers, triggered this error.

https://supportcenter.devexpress.com/internal/ticket/details/T1112752

I'm sorry, what I am supposed to do here? I think that I misunderstand you. 😢

Have a good day 😄

apobekiaris commented 2 years ago

bad communication I am sorry. What I meant your videos are long without directions. Thanks for recording them but ot of much value.

yes, I've installed System.Reactive v.5.0.0, System.Interactive v.5.0.0 and after getting the same error, i tried System.Interactive v6.0.1, also with the same errors.

I repro this and fixed it with

<PackageReference Include="System.Interactive" Version="6.0.1" />

let me know if it works for u.

apobekiaris commented 2 years ago

I also mentioned XVideoRental as a good example to see how to configure the MasterDetail package. Here is an additional screenshot from the demo

image

I had to make some updates in the XVideoRental, I will push the changes shortly.

apobekiaris commented 2 years ago

eXpand.lab release 22.1.501.1 includes commit that relate to this task:

Please test if it addresses the problem. If you use nuget add our LAB NugetServer as a nuget package source in VS.

To minimize version conflicts we recommend that you switch to PackageReference format and use only the eXpandAgnostic, eXpandWin, eXpandWeb packages. Doing so, all packages will be at your disposal and .NET will add a dependecy only to those packages that you actually use and not to all (see the Modules installation-registrations youtube video).

Thanks a lot for your contribution.

rodrigokiller commented 2 years ago

let me know if it works for u.

Hi, it worked like this. Also, before your reply, I've solved it doing this: copy the file: %USERPROFILE%.nuget\packages\system.private.servicemodel\4.6.0\lib\netstandard2.0\System.Private.ServiceModel.dll to %USERPROFILE%.nuget\packages\system.servicemodel.primitives\4.6.0\ref\netcoreapp2.1

Late today, or tomorrow (GMT-3) i will get the last release and test it without doing any manual changes to the dlls. I will let you know! Thank you for your answer.

PS. I am using the lib now and it works like a charm.

yunits commented 2 years ago

Hi, this error still occurs. I've tried to enable "Xpand.XAF.Modules.SequenceGenerator" and also installed for testing purposes System.Reactive v.5.0.0 and System.Interactive v.5.0.0 I am using your latest Xpand.XAF.Core.All package What else can I do?

apobekiaris commented 2 years ago

what about https://github.com/eXpandFramework/eXpand/issues/949#issuecomment-1256921148

yunits commented 2 years ago

that doesn't change the error message

Type: BadImageFormatException Message: Could not load file or assembly 'System.Interactive, Version=5.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263'. Reference assemblies should not be loaded for execution. They can only be loaded in the Reflection-only loader context. (0x80131058) Data: 0 entries Stack trace:

could it be something with .NET? I think .NET 6.0.10 is not net standard 2.0 anymore? Latest Visual Studio automatically updates to the newest SDK.

apobekiaris commented 2 years ago

post a sample

rodrigokiller commented 2 years ago

hi @yunits , have you tried this workaround?

yunits commented 2 years ago

I solved my problem and this is just a hin for you, if someone else has the same error: I guess it is something with .net standard 2.0 and net standard 2.1, like mentioned before.

Before I had a clean and only install of Visual Studio 2022 (never installed 2019 before). 2022 references in the latest version to .netstandard 2.1 netstandard, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, Location=C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App\6.0.10\netstandard.dll

For testing purposes I've installed Visual Studio 2019, and now it everything works in Visual Studio 2022 (maybe "missing" files are now where they should be).

I've seen that you have support for .NET-Framework, that's why I was wondering how it could work with 2.1. Conclusion: If someone has a new fresh Windows installation with only Visual Studio 2022, some dll's might be missing. Maybe you can deliver them or add any requirements to this..

Thanks for your fast responses.

apobekiaris commented 2 years ago

both solution does not offer something I can use to address this for all. I need a repro sample

yunits commented 2 years ago

as this error is machine specific, you cannot repro it without having the same machine setup as I have. You could just try to setup a virtual machine with windwos 10 and only latest visual studio 2022.

As rodrigokiller earlier mentioned, he solved it by replacing 2.1 dll with 2.0 dll files.

however, my problem has been solved, thanks anyway.

Edit: After uninstalling Visual Studio 2019, it still works. So I cannot repro it without setting up a new environment. Edit2: removed System.Reactive and System.Interactive packages and it still works. Maybe this is the dll that was missing, I don't know..

yunits commented 2 years ago

It's me again xD I had this error again but now I guess I have a working solution: System.Interactive 6.0.1 is required (after installing, Visual Studio has to be closed and started again) And .NET6 SDK lower than current 6.0.10 is required (x86) I tried it with 6.0.5 x86 SDK installer for Windows. https://github.com/dotnet/core/blob/main/release-notes/6.0/6.0.5/6.0.5.md

x86 is important. If you use x64 it wouldn't work.

With a clean Visual Studio install you have only 6.0.10 in that folder C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App\ and that netstandard.dll has the version 2.1

apobekiaris commented 2 years ago

I guess these instruactions are suppose to help me repro it. But they really do not not, I have endless solutions and not have VS2019 installed and never tried to do any of the magic u suggested here. What I need is a sample I do not think this is enviromental issue.

yunits commented 2 years ago

If I find a 100 % solution, I will get back to you. For the moment it is also hard to repro for me. I uninstalled my SDK to test if the error occurs, but it doesn't.. I don't know if some others have this same problem but if, then I would like to provide a working solution for them. If the error occurs again, I will get back to you with my solution.

apobekiaris commented 2 years ago

also when u face build problems consider that eXpand builds run on azure and unit/easy test there on the devops VM. In addition they are configured to failed even if there just one warning, aiming to provide the cleanest build possible to all

yunits commented 2 years ago

I guess it was my fault that I didn't restarted Visual Studio after installing System.Interactive 6.0.1 I am not used to do this after installing nuget packages.

That is reproducable if you uninstall System.Interactive and install it and open Model Designer without Visual Studio restart.

For the moment that is all what I know.

Thanks for your fast responses all the time, you did a great job with your extensions :-)

apobekiaris commented 2 years ago

Model Designer

aha now u touch the problem, native Xaf ME is unpredictable, not because of Xaf but because of VS designers craziness. Consider XpandModelEditor or the Xaf Standalone editor, you will sleep better

apobekiaris commented 1 year ago

eXpand.lab release 22.2.400.0 includes commit that relate to this task:

Please test if it addresses the problem. If you use nuget add our LAB NugetServer as a nuget package source in VS.

To minimize version conflicts we recommend that you switch to PackageReference format and use only the eXpandAgnostic, eXpandWin, eXpandWeb packages. Doing so, all packages will be at your disposal and .NET will add a dependecy only to those packages that you actually use and not to all (see the Modules installation-registrations youtube video).

Thanks a lot for your contribution.

expand commented 9 months ago

Closing issue for age. Feel free to reopen it at any time.

.Thank you for your contribution.