我正试图打开一个文件扩展名(.flw)与我的应用程序相关联,以便您可以打开此扩展名,我的应用程序打开并从中加载信息因此在主窗口中,我添加了以下内容:
private void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
string[] args = Environment.GetCommandLineArgs();
foreach (string arg in args)
{
if (System.IO.Path.GetExtension(arg) == ".flw")
{
Console.WriteLine("Path = " + arg);
SerializationHelper.LoadFlow(arg);
}
}
}
“.flw”文件正在打开并正确读取,但当我使用此扩展名打开应用程序时,应用程序的依赖项之一“Framework.DLL”似乎丢失,就好像它与file.flw在同一目录中搜索一样。
例如,当我双击位于桌面上的“flw”文件时,它说:
未能加载文件或程序集文件“Systems.dll”或它的某一个依赖项。系统找不到指定的文件。
这个特定的依赖项是一个C# DLL,我将它用于应用程序的样式化,并将其作为引用添加。
它与应用程序一起安装在与.exe路径相同的路径中,但似乎当我打开具有'.flw'文件的应用程序时,它试图在与我的文件相同的目录中搜索此程序集
请注意,从桌面快捷方式打开应用程序不会导致此问题。
1条答案
按热度按时间omqzjyyz1#
我能够通过改变我的应用程序的当前目录来解决它。
似乎从任何其他文件而不是exe文件打开应用程序,应用程序的当前目录被设置为该文件的位置,因此它无法找到依赖项。
因此,在我的App.xaml.cs中,我将当前目录设置为