Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
THRUST SERVICES & TOOLS
CLOUD EDITIONS
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Web CMS (TeamSite)
Specified module could not be found.
JayAchTee
I have a development machine running VS 2003 and loaded the WorkSite DSK. I generated the interop DLL from IManage.DLL and wrote a quick and dirty C# web application to locate all the start Workspaces in the DMS. Howerver, I get an exception "The specified module could not be found" when creating the ManDMSClass() object. The interop DLL is loaded already as I can access enumeration members sa shown below:
...
TextBox1.Text = "Initializing...";
TextBox1.Text += "\r\nUser: " + this.User.Identity.Name;
string userName = ConfigurationSettings.AppSettings["UserName"].ToString();
string password = ConfigurationSettings.AppSettings["Password"].ToString();
string serverName = ConfigurationSettings.AppSettings["ServerName"].ToString();
string databaseName = ConfigurationSettings.AppSettings["DatabaseName"].ToString();
TextBox1.Text += "\r\n nrRightNone: " + AccessRight.nrRightNone.ToString();
TextBox1.Text += "\r\n nrRightRead: " + AccessRight.nrRightRead.ToString();
TextBox1.Text += "\r\n nrRightReadWrite: " + AccessRight.nrRightReadWrite.ToString();
TextBox1.Text += "\r\n nrRightAll: " + AccessRight.nrRightAll.ToString();
dms = new ManDMSClass();
session = dms.Sessions.Add(serverName);
...
The exception does not occur until the "dms = new ManDMSClass()" line in the application. The ASPNET user has been added to the local machine's Administrators group in an attempt to determine if this is a file access rights issue but to no avail.
What do I need to do to be able to use the WorkSite SDK IManage.dll in a web application on the development machine?
Regards,
JayAchTee
Find more posts tagged with
Comments
jny
So you already have referenced the imanage.dll 8.0 in your project, and added the namespace like so:
Using IManage;
Then, in your code you have the following:
IManDMS dms = new ManDMSClass();
IManSession sess = dms.Sessions.Add("Server");
sess.Login("user", "password");
JayAchTee
Correct. The error occurs on the "new ManDMSClass()". I know the interop DLL is loaded by the two fact that I can see the loading in Visual Studio and I can access enumerations before the "new ManDMSClass()" statement.
jny
Could remove your current reference to the imanage.dll and reference it. Perhaps it's not pointing to the correct path where the dll was registered.
I referenced to the IManage.dll at its path, namely, "C:\Interwoven\WorkSite\," in my .net project, added Using IManage; and the code works successfully.
JayAchTee
Bad News: Did that and no difference.
Good News: On my development machine I only have the iToolkit installed. I checked the dependencies in iManage.dll and found two problems. So I thought to myself and created a folder "Web\bin" under the Interwoven\WorkSite install folder and copied the DLLs from the test server into it. The module had the same dependiency issues but I registered the iManage and iManAdmin DLLs and changed my reference to the interop.iManage.dll from the server and all problems solved. Just for grins, I registered the iManage.dll in the WorkSite folder again and tested the application and again it work great.
So I thought "There is obviously a difference in the interop generated by Visual Studio 2003 TlbImp program and the interop distributed for the web server." Wrong! I removed the Web\bin\interop.iManage.dll reference and added back the one I created using TlbImp.exe and everything still works!
Update: I went back and removed the Web\bin folder and gave it a whirl again and everything still work! I don't quite get it.
It's great that everything now works but the big question is "why?" I am afraid the answer is "42" but maybe someone else can give me some insight.
Regards,
JayAchTee
Edited by JayAchTee on 07/02/05 06:34 AM (server time).