Fixing broken assembly references in BlackPearl SP1

  • 1 April 2008
  • 2 replies
  • 0 views

Badge +2

Hi,


I have a workflow project which was created in BlackPearl service pack 1.  The process uses a custom assembly.  The reference was added using the new Project Reference Wizard.  The project is then built and successfully completes the build.


If this workflow project is then opened on a new machine where the custom assembly doesn't exist you can not re-add the reference (to change the location) and you can not remove the reference from the Project Reference Wizard.  I also tried removing and re-adding from the extender projects but wouldn't resolve the issue.


When I tried to remove from the Project Reference Wizard, I received the following error.  "The given assembly name or codebase was invalid. (Exception from HRESULT: 0x80131047).  By viewing details I got a more descriptive error ...


System.IO.FileLoadException.  The given assembly name or codevase was invalid ....


It would seem that when you remove a reference from the Project Reference Wizard, it tries to load the assembly first.  This means you cannot remove or repoint a broken reference in SP1.


Is this a reported issue or has anyone else had similar problems?


Thanks 


Dave


2 replies

Badge +6

Have you tried to copy the missing dll to the location where studio is expecting it (probably in the same folder structure as on the previous machine) and then see if you can run the project reference wizard again?


 

Badge

We have found the same problem in a project:


Cause: we had changed the project folder


The ddl had a problem, we cant build the project and we cant remove it. If we see the ddl folder it apears to be ok and it was realy where it is suposed to. However and due to what i think is a bug in blackpearl internaly the file stores all the fisical path of the ddl and not only the relative path of the dll in the project.


This mean that we have a project inside "S:WorkProjectsBackpearlWrokflowsProject1objproblemdll.dll" so we can see that the ddl is there and is ok. We tried to remove in various ways without sucess.


Solution: However if we open the blackpearl file with notepad (is in xml) and we look for the ddl we can see that it stores the fisical path, so any changes in the folder turn the dll impossible to find. We have a slighty diferent path "S:WorkProjects 2008BackpearlWrokflowsProject1objproblemdll.dll"


We just change the name of the project folder to what was before. But i think that we can change the folder name in kprx file or delete from there any reference to the ddl and simply put that again in the project by the visual studio.

Reply