Pardon the ignorance. I'm just now spinning up my development in DNN4 from DNN3 and I'm still trying to figure out the new Private Assembly packaging procedures and apparently there are two different ways of doing it...at least...and I've seen some pages on it. BUT, if you have a module that was packaged one way and installed to a portal and then you have that same module packaged and installed the OTHER way and then you install it over top the other one in your portal...do bad things happen?
I'm asking because I had one PA that a coder made for me installed on my DNN4 portal. I'm not sure which type it is but I know it did not create the folder for the module under App_Code. But then I had a different coder update this module for me and they packaged it into a PA that when I installed to my portal (over the existing module) did a few things I haven't seen before in DNN3.
First, it actually changed my web.config file! It added a "CodeSubDirectory" to that file. It also created a module folder under the App_Code folder. I'm not sure what else it did except that it DID crash my site with an error that looked something like:
Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please reviewthe following specific error details and modify your source code appropriately.
Compiler Error Message: BC30560: 'DataProvider' is ambiguous in the namespace 'Ryno.DNN.Modules.MyModule.Data'.
Source Error:
Line 11: #Region "Shared/Static Methods"
Line 12: ' singleton reference to the instantiated object
Line 13: Private Shared objProvider As DataProvider = Nothing
Line 14:
Line 15: ' constructor
Source File: C:\Inetpub\vhosts\mysite.com\httpdocs\App_Code\MyModule\DataProvider.vb Line: 13
It had other stuff in the error too. So I deleted the App_Code directory AND the module directory under DeskTopModules and the .dlls and took that section out of the web.config. My site came back up. So I went into module definitions and uinstalled the module. It was shown as gone. Except on the page where the module was residing which now had an error. So I deleted the module from the page. I thought I had cleanly gotten rid of it so that I could install the new one and prevent conflict. I installed the new PA again (which resulted in it updating the web.config and making the App_Code directory again) and it installed but I got this installation error talking about VIOLATION of UniqueKey and "cannot insert duplicate key in object 'dbo.ModuleDefinitions." But the module was now back in my dropdownlist so I dropped it on a page and it showed this error:
Could not load type 'Ryno.DNN.Modules.MyModule.MyModule'.---> System.Web.HttpParseException: Could not load type Ryno.DNN.Modules.MyModule.MyModule'. --->System.Web.HttpParseException: Could not load type 'Ryno.DNN.Modules.MyModule.MyModule'. --->
So it appears to me that:
1. You can't upload one type of PA of the same module over another type of PA of the same module on the same portal (can anyone confirm?)
2. If you try to....the uninstall link in the ModuleDefinitions page will not completely uninstall the module
3. Because of Step 2....if you re-install you will get a key violation because something in a database has not been deleted like it should have
If anybody can help me out I'd appreciate it. Thanks much.