我的。净的可执行 abc.exe 引用几个组件。他们中的一个被称为 xyz.core.exe.我有麻烦了它的工作时,它正在开始从网络的位置,规定通过一个分享的名称与路径,例如 \\localhost\xyz\abc.exe.这个工作很好如果我安装网络驱动器字命名的 Z:\\localhost\xyz 如果我发射 Z:\abc.exe.

.净似乎变得混淆,同时试图加载 xyz.core.exe 大会从共享。它将引发 System.IO.FileNotFoundException 例外与以下的融合日志的信息:

Assembly manager loaded from:  C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll
Running under executable  \\localhost\xyz\abc.exe
--- A detailed error log follows. 

=== Pre-bind state information ===
LOG: User = Workstation\arnaud
LOG: DisplayName = xyz.core, Version=2.5.2.1001, Culture=neutral, PublicKeyToken=...
(Fully-specified)
LOG: Appbase = file://localhost/xyz/
LOG: Initial PrivatePath = NULL
Calling assembly : abc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=...
===
LOG: This bind starts in default load context.
LOG: No application configuration file found.
LOG: Using machine configuration file from     C:\Windows\Microsoft.NET\Framework\v2.0.50727\config\machine.config.
LOG: Post-policy reference: xyz.core, Version=2.5.2.1001, Culture=neutral, PublicKeyToken=...
LOG: Attempting download of new URL file://localhost/xyz/xyz.core.DLL.
LOG: Attempting download of new URL file://localhost/xyz/xyz.core/xyz.core.DLL.
LOG: Attempting download of new URL file://localhost/xyz/xyz.core.EXE.
LOG: Attempting download of new URL file://localhost/xyz/xyz.core/xyz.core.EXE.

看这个过另一个角度与过程监视器,我看到一些试图进入我的地方驱动与以下途径:

C:\xyz\xyz.core.dll
C:\xyz\xyz.core\xyz.core.dll
C:\xyz\xyz.core.exe
C:\xyz\xyz.core\xyz.core.exe

如果装载程序错误理解的意图,载从一个网络共享,并放弃了 \\localhost 使用 C: 代替。该问题似乎不是有关的安全设置(我从未搞砸了CASPOL在我的机器)和我使用。净3.5sp1其中允许可执行文件要开始从一个共享。

而事实上,启动程序通过相当于网络驱动器的映射信工作应确认,这不是一个安全问题。

问题不相关的事实,即基准是一个可执行软件组件,因为它产生于同一种负荷的错误引用普通DLL组件。

任何想法可能是什么原因这个装载问题?有其他人碰到这样的情况呢?

有帮助吗?

解决方案

我无法解释的"C:\xyz\xyz.core.dll"(除非作为一个好奇心),但是其余的正是我所期望的。

这似乎所有被绑入代码的访问的安全。直到最近,你会需要使用"caspol"配置CAS允许你 执行 exe从任何类型的网络分享。这是改变(。净3.5。净3.5sp1)这样的, 映射 股份("f:"等等) 得到执行的权限,但UNC股不这样做。

你的 可以 使用"caspol"授予访问的UNC(像这样的),但海事组织,它是一个更好的选择换来ClickOnce部署。这个可以 仍然 可通过网络共享,但它包括其他出版物的信息,让的运行安装。我 相信 它还可以用于部署这样,它的工作脱机(当的网络是不可用)而自动更新,从分享在可能的我知道这对http部署的-我 相信 它适用于网络)。IDE提出了这个幌子下的"发布",并且它是大约5点击所有完成。

其他提示

我很困惑 - 如果你使用localhost它应该去的地方硬盘。

您想重新映射本地主机为别的地方?如果是这样的话这可能是什么原因造成的问题 - 尝试使用不同的名称

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top