C# ClickOnce DLL问题
我在VS2008中开发了一些C#插件库,这些库与其他人的应用程序一起部署。他们使用ClickOnce进行部署,我想我正在尝试做一些非标准的事情 在安装了应用程序和我的DLL的其中一台计算机上,我想手动更换一些DLL以测试修复程序 应用程序位于c:\Documents and Settings\testsystem\Local Settings\Apps\2.0\blahblahblah…长路径中\ 我的DLL位于该路径下的子目录中 我的测试人员获取了我的DLL并将它们放在该子目录中,但从跟踪输出来看,他发送给我的DLL的旧版本实际上正在运行。我让测试人员验证DLL是否在子目录中,跟踪日志显示正确的路径,表明应用程序正在该位置运行,但跟踪输出不是来自我发送给他的DLL 在这一点上,ClickOnce部署的东西对我来说都是精灵的魔法。它似乎没有覆盖我的新DLL,但它肯定没有运行我期望它运行的版本。有人有什么想法吗 谢谢,C# ClickOnce DLL问题,c#,clickonce,C#,Clickonce,我在VS2008中开发了一些C#插件库,这些库与其他人的应用程序一起部署。他们使用ClickOnce进行部署,我想我正在尝试做一些非标准的事情 在安装了应用程序和我的DLL的其中一台计算机上,我想手动更换一些DLL以测试修复程序 应用程序位于c:\Documents and Settings\testsystem\Local Settings\Apps\2.0\blahblahblah…长路径中\ 我的DLL位于该路径下的子目录中 我的测试人员获取了我的DLL并将它们放在该子目录中,但从跟踪输出
Matt在这种情况下,发布带有跟踪DLL的clickonce应用程序更新对您来说是不可能的吗?这是在clickonce中实现魔术的最简单方法。简单地安装本地构建的版本(而不是clickonced)怎么样。显然,如果您试图对权限错误进行故障排除,这将无助于您:(
但是没有任何东西会阻止您在本地系统上以exe的形式运行代码。您确定有正确的目录吗?单击一次的目录结构有点复杂,DLL可以重复多次。它并不总是从您期望的位置提取DLL。它也可能从本地系统中提取DLL如果有人把它们放在那里,GAC
试着运行,查找你的应用程序并检查它的句柄。这将告诉你有问题的DLL的正确路径。戴上奇怪的解决方法帽子,你可以:
- 以其他名称发布应用程序,并让测试人员安装该版本
- 发布版本号较低的应用程序
我肯定会用另一个名称发布,你会有一个用于所有测试目的的版本。是的,不幸的是,这不是一个选项。说得好,罗伯特。这是一个令人沮丧的日子,我用了我的大脑(和我经常使用的procexp),而不是让情况占据我的优势……好吧,你知道。谢谢。