Custom DNN module won't be dropped onto a page - dotnetnuke

I have a custom DNN module that works well in DNN 5. After modifying the module to work in DNN 7 and installing it successfully, nothing happens when I drop one of the module's controls on a page. In the event viewer, I see the following log entry of type 'Host Alert':
=============================================================================
EventQueue.ProcessMessage: Message Processing Failed
ProcessorType: DotNetNuke.Entities.Modules.EventMessageProcessor, DotNetNuke
Body:
Sender:
BusinessControllerClass: Nedoweb.Modules.Survey.SurveyController
desktopModuleID: 87
ExceptionMessage: Value cannot be null. Parameter name: type
Server Name: MyComputerName
=============================================================================
Any help is greatly appreciated!

I would start by looking at your SurveyController class, what classes are you inheriting from? What interfaces are you implementing there? IPortable? Anything else?
You might try fixing that class, maybe even comment out all the interfaces, and then try the install to see what happens with the module.

If you have access to the module source, the easiest way to trace that bug would be to install DotNetNuke 7 locally and running a debug with a breakpoint in each method of your controller class in visual studio. Then you can run your code line by line using F11 and see exactly what is happening behind the scene.

Related

Using log4net on nmodbus from not-main-project in a WPF project

So, i'm taking over a old project that uses nmodbus (and old version at that, 2.0_1.11.0.0, we decided it was best to not update). Nmodbus uses log4net for logging messages. I need to be able to view the logged messages, but it seems like log4net doesnt like WPF, or being in not-main-project.
Adding
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config")]
To the Nmodbus project AssemplyInfo.cs file gives me this error:
Severity Code Description Project File Line Suppression State
Error Unknown build error, 'Cannot resolve dependency to assembly 'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821' because it has not been preloaded. When using the ReflectionOnly APIs, dependent assemblies must be pre-loaded or loaded on demand through the ReflectionOnlyAssemblyResolve event.' OptimalProdTest
Adding log4net, with NuGet Package Manager, to the main (WPF) project causes Nmodbus to stop working. (maybe has something to do with log4net being an older version in the old nmodbus project, and adding with NuGet will download the newest? Can i somehow add log4net from the other project into the main project without NuGet?)
I found other people with similiar problem who said i should add:
FileInfo configFileInfo = new FileInfo("log4net.config");
log4net.Config.XmlConfigurator.ConfigureAndWatch(configFileInfo);
to "the entry point of your library setup your logger", one guy said, another said "in the constructor of the wrapper class". However, i do not know what files these guys are talking about, nor do i know which project they meant (add to main project or nmodbus?).
( https://social.msdn.microsoft.com/Forums/vstudio/en-US/0c5d7fbb-94a3-4221-ab91-9732c5acee58/cannot-resolve-dependency-to-assembly-because-it-has-not-been-preloaded )
I'm lost and i can't find much help when googling. Anyone has any idea what i should do to be able to view the logs from log4net in nmodbus?

IOS 11 XCODE 9: Archive errors Undefined symbols for architecture arm64:

I am trying to create an archive for a XCODE 9 app using NFC core and getting errors (see images) that I cant figure out having tried many settings. We are using the new NFC Core framework in the app and all works perfectly when running on devices etc - just wont create a archive so we can add to TestFight...
Here is a screen shot of me having changed the scheme for Archive to debug, but with no different results unfortunately.
Ok, in my opinion there might not be the release versions of this symbols, it is an option, and if it worked while testing you might have a go compiling with Debug settings the archived version too:
Click on your target scheme settings:
Click on edit scheme:
Select Archive, and then change the Build Configuration to Debug:
Then you can have a go again at archiving... The side effect might be that the executable will be bigger... Let me know if it works :-)
I just wanted to update this post as since upgrading to XCODE 9 Beta 3 all these issues have gone away. I can now Archive with bitcode on and have successfully uploaded to ITUNES connect for publishing externally as a TestFlight without any code changes at all..
Thanks for all the help to move it on but I could not get on TestFlight as threw up all sorts of issues and all fixed with the latest build cam along - thanks Apple!

Onelogin Drupal 7 module error onelogin_saml_password_tab_disabled

I have configured two instances of the Drupal Onelogin module d7oneloginsaml2v2.2.4.zip
as detailed on the Onelogin help page
https://support.onelogin.com/hc/en-us/articles/201173604-Configuring-SAML-for-Drupal
This is on two fresh installs of Drupal 7 and both times I have got the error:
Notice: Use of undefined constant onelogin_saml_password_tab_disabled - assumed 'onelogin_saml_password_tab_disabled' in onelogin_saml_menu_alter() (line 81 of/etc/drupal7/all/modules/contrib/onelogin_saml/onelogin_saml.module).
Please note that this error does not appear to prevent the module doing authentication.
Any ideas why this error is appearing? Is there something that I need to configure prior to enabling the module?
I am not a programmer so this may be fairly obvious to developers.
Thanks
Paul C
This was a bug, already fixed on the repository, but the patch is not yet included in any release. Maybe download the code directly from github repository: https://github.com/onelogin/drupal-saml

Best practice to resolve the URI error

I have a main project (ProjectA) that contain a base class (xaml + code-behind).
Also, I have another project (ProjectB) in reference with ProjectA. In that last
project I have inherits some user-control created in ProjectA.
When launching the main application, I receive the follow error:
The component 'XXX' does not have a resource identified by the URI
'/My.Assembly;component/.../simplegridview.xaml'
Is there a best way to resolve that problem?
I know it is not really a solution to the problem. But I have found that Clean and Build makes the error go away...
I encounter the same problem with VS 2013 sometimes, without any immediate cause e.g. after a reboot and rebuild from scratch. In such cases the solution build succeeds, it also runs but still the error list displays e.g. 5 URI errors. While sometimes clean and build suffies, other times you have to close VS, delete bin/obj folders of the project with the errors, reopen VS and then the errors have gone.

Attempting to load a DLL on Windows using LoadLibrary when a dependent DLL is missing

I have an application that uses LoadLibrary on Windows to dynamically load plugins. However some of the plugins have other dependent DLLs, such as database client DLLs.
When you attempt to load such a DLL and one of the dependent DLLs doesn't exist you get a nasty Windows dialog:
"The program can't start because xxx.ddl is missing from your computer. Try reinstalling the program to fix this problem."
Is there any easy way to avoid this dialog? I was hoping one could use LoadLibraryEx and pass a flag that says "don't give me that annoying dialog", but it doesn't seem like it.
What I'd like is for the application to handle that error, rather than Windows handling it for me, especially as the text of the message is incorrect (the problem isn't that the program can't start, the program is running quite happily, it just can't load this plugin).
What I'd like to avoid is having to rewrite the plugins that have these external dependencies to make them themselves do a dynamic load of any dependent modules and then query for any entry points.
Anyway, any suggestions would be gratefully received.
Use SetErrorMode(). Use it with SEM_NOOPENFILEERRORBOX | SEM_FAILCRITICALERRORS before you load the DLL and with 0 right after.
From MSDN:
To enable or disable error messages displayed by the loader during DLL loads, use the SetErrorMode function.
Link here

Resources