当app通过文件关联启动时,包含useLegacyV2RuntimeActivationPolicy的.NET app.config文件

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

要回复问题请先登录注册