此问题与程序集是否已签名或是否已为共享网络文件夹运行caspol无关。显然,文件的位置是问题,但我找不到真正的问题。
我有一个引用5个dll的可执行文件。我可以毫无问题地从本地驱动器运行该应用程序。当我从网络共享运行应用程序时,我收到一条错误,指出“无法加载文件或程序集'本垒打,版本= 1.0.0.0,Culture = neutral,PublicKeyToken = null'或其依赖项之一。系统找不到指定的文件。“
如果所有文件都在同一个文件夹中,那真正告诉我的错误是什么?
我还应该注意使用的框架是3.5 SP1,它不需要更改代码访问策略。我无论如何都试过了,在这两种情况下都收到了同样的错误。
谢谢, DaMoose
答案 0 :(得分:0)
答案 1 :(得分:0)
您基本上需要签署程序集。使用
生成私钥/公钥对sn -k filename.snk
将在项目属性中指定filename.snk(右键单击项目,然后选择属性)。
如果您不对代码进行模糊处理,则可以使用此代码。如果这样做,则需要“延迟签名”程序集,即为新构建的可执行文件中的密钥保留空间。然后你需要打电话
sn -r filename.snk
在混淆后重新签名可执行文件。
答案 2 :(得分:0)
程序集是如何进入该网络共享的?你只是复制它们或其他什么?当我从自己的网络服务器下载自己的程序集时出现问题,并且资源管理器将“阻止”标志(ntfs流功能)添加到下载的文件中,基本上生成了FileNotFound Exceptions。