当app通过文件关联启动时,包含useLegacyV2RuntimeActivationPolicy的.NET app.config文件
我的应用程序需要在其.exe.config中使用LegacyV2RuntimeActivationPolicy,因为它是一个使用混合模式CLR2程序集的CLR4应用程序。
从“开始”菜单启动我们的应用程序时一切正常,但是如果用户通过单击其中一个与我们的应用程序具有文件类型关联的文件来启动我们的应用程序,则不会读取app.config文件并加载这些文件CLR2程序集失败。
根据进一步的研究,似乎ShellExecute不读取.config文件(即使指定了app文件夹),但WinExec也是如此。我假设shell使用ShellExecute通过文件关联启动应用程序。
除了编写在启动主应用程序进程之前设置当前文件夹的中间应用程序之外,还有其他解决方法吗?这是本网站其他地方的建议。
提前致谢!
没有找到相关结果
已邀请:
1 个回复
凡夕
值应使用长文件名来打开文档。
我的猜测是,Windows在启动应用程序时不会将短文件名扩展为长名称,并尝试使用短名称来解析然后无法找到的app.config文件。 编辑:我通过使用在注册表中找到的匹配的短名称重命名app.config来确认我的理论然后它工作。删除重命名的app.config文件会再次破坏它。