Developer forum

Forum » Integration » Upgrading from 8.1 -> 8.4.1.19 (stable)

Upgrading from 8.1 -> 8.4.1.19 (stable)

Mikkel Toustrup Olsen
Reply

Hello all,

I am working on a new project which contains a lot of custom code / modules. This project i currently running 8.1.x.x which it does perfectly fine. However we are going to need some of the functions in the latest Dynamicweb why we are going to upgrade the solution to the latest stable dynamicweb version. (8.4.1.19 last time I checked).

I do have the "old" environment running smoothly, however when I try to setup the new solution i get a lof of assembly errors.

E.g

ExceptionMessage
Could not load file or assembly 'ABCpdf, Version=8.1.0.8, Culture=neutral, PublicKeyToken=a7a0b3f5184f2169' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

Besides adding the 8.4.1.19 dynamicweb dll and whatever references (e.g. abcpdf.dll) to the custom code is there more to do?..  I must say I can load the frontend, however given the above mentioned exception my products(in this case) wont be loaded correctly. I should mention there is a custom product integration to another system.

Regarding assemblies I can't find any keys in the web.config that points to a specific, in this situation, abdpdf version. Neither in the old nor the new application folder.

The person who wrote the custom code did not see any specific issues in upgrading dynamicweb.

Am I missing something?

Cheers,

MikkelTO


Replies

 
Imar Spaanjaars Dynamicweb Employee
Imar Spaanjaars
Reply
This post has been marked as an answer

Hi Mikkel,

Just copy all the files in the Bin folder from the application you're targeting in the Bin folder of your project. Dynamicweb doesn't have references in the project so Visual Studio doesn't bring them in automativall, but the manual step fixes it.

Cheers,

Imar

Votes for this answer: 1
 
Mikkel Toustrup Olsen
Reply

Hi Imar, 

Thank you for your reply!

By that do I need to copy the files from my "old" application's bin folder into the new application's bin folder? ..

I am not quite sure I understand :-)

I reckon DW 8.4.x.x has newer files why these should be used?

Correct me if I'm wrong :-)

Cheers,

MikkelTO

 
Imar Spaanjaars Dynamicweb Employee
Imar Spaanjaars
Reply

What I typically do is make sure my application's Bin has whatever it had when it ran in production and then overwrite all those files with the ones from the latest application. That updates everything to the 8.4 version.

>> I reckon DW 8.4.x.x has newer files why these should be used?

Yes, that's why you need to overwrite all the old files.

Imar

 
Mikkel Toustrup Olsen
Reply

Hi imar,

Sure helped so I actually was able to run the solution - however I am still getting the AbcPdf error. Though it must be because there is a custom module that utilizes the abdpdf.dll and that was build with an earlier version as far as my logic goes 

 
Imar Spaanjaars Dynamicweb Employee
Imar Spaanjaars
Reply

Yes, that might be the case. If the original project referenced or used that assembly, it may go and look for it. If you have the source code, you can check out the references of the project in Visual Studio. Otherwise, you could use Reflector and see which assemblies your custom project's assembly references and then make sure you have that file.

Hope this helps,

Imar

 
Mikkel Toustrup Olsen
Reply

Hi Imar,

Yeah I do have the original source code projects - there are like 20 in total - and my resharper tells me there are multiple reference errors. I guess where it loads the dynamicweb.dll etc. must be pointed to the new application's dynamicweb.dll along with all of the "old" dll files that was locatedi n the old application folder - should be re-refered again I guess.

 

 
Imar Spaanjaars Dynamicweb Employee
Imar Spaanjaars
Reply

Yes, correct. The fastest solution is to set a Reference Path on the web project pointing to your new application's Bin folder. That updates all references for Dynamicweb assemblies to the new application. Then you need to fix the remaining references by readding the reference to the correct assemblies.

Imar

 
Mikkel Toustrup Olsen
Reply

That seems to be an easier approach - I will give that a try and see if I get it sorted :-)

Thanks, Imar

MikkelTO

 
Mikkel Toustrup Olsen
Reply

Hi Imar,

I do have the csproj file for all my custom code (projects) - I do not have any sln or similar files for my application(website files). i Just copied the new Application bin's folder into the old one and replaced the old .dlls with the new ones.

The frontend does respond as well as the backend, however it seems to crash on Application Start (notification subcriber). I havent found any information on if these have changed from 8.1.xx -> 8.4

 

 
Morten Snedker
Reply

I will just scoop in here:

I suggest that you copy your custom DLLs to the new application (8.4), and then point to this folder on the IIS. It seems that ABCpdf often is quite locked and cannot be overwritten. Also, application recycle doesn't seem to release the file lock - an IIS restart is required.

So, to get the newer ABCpdf in use, just switch the solution application on the IIS.

As for your Application Start crash, there should be information in the Windows Eventviewer.

/Snedker

 
Mikkel Toustrup Olsen
Reply

Hi Morten,

I will give that a shot and get back to you - thanks.

/MikkelTO

 
Imar Spaanjaars Dynamicweb Employee
Imar Spaanjaars
Reply

Hi Mikkel,

You may also need to update your web.config file as it contains some necessary changes. I typically take the one from the latest application and then insert my changes into that file.

Cheers,

 

Imar

 

You must be logged in to post in the forum