2009-02-23 62 views
0

我有一个简单的,如果不是原始的C++/CLI .NET 2.0类库。它用于为Web服务打包一些C++遗留代码。以下事实似乎是正确的:加载web服务时System.IO.FileNotFoundException

  1. 原始C#测试程序调用类库,它的工作原理。
  2. 如果类库没有引用我们的代码库中的任何模块,它可以像Web服务一样工作。也就是说,我加载Web服务并调用这些方法并接收适当的响应。
  3. 与我们的代码基库中的调用替换复制和粘贴代码的同一时刻,Web服务停止加载。我得到System.IO.FileNotFoundException消息。

问题:我找不到找不到找不到文件名的地方。

我对它进行了搜索并给我的计算机上的某些ASP.NET用户授予了一些权限。我将我们库的所有DLL复制到安装Web服务的同一目录中。我在IIS日志,事件日志等搜索 - 没有哪里可以找到模块的名称,防止Web服务出现。

任何有关此事的帮助将不胜感激。

鲍里斯

+0

对不起,这是虚惊一场。为系统路径添加必要的路径解决了问题。 – 2009-02-23 09:19:50

回答

0

确保所有依赖的DLL都在路径中(Path不是指组件所在的目录,因为ASP.net将您的程序集复制到临时文件夹中,而是将其包含在System path环境变量中)。

+0

是的,这确实是罪魁祸首。 – 2009-02-23 09:56:38

0

您要更换哪些电话?原始代码是否可以优雅地处理丢失的文件(这可能甚至不重要),而您的代码不会?

+0

安德鲁,原来的代码是简单的字符串处理例程。但愚蠢的我没有意识到DLL需要在系统路径中,因为ASP.NET运行时会复制所有内容并从复制位置运行它。 – 2009-02-23 09:21:11

0

为您对asp.net帐户所做的iusr帐户添加相同的权利。

+0

鉴于如果编译的服务运行不同,它似乎并不重要。但我仍然解决了这个问题。 谢谢! – 2009-02-23 09:23:46