Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Excel 2013插件中未找到WPF ResourceDictionary_C#_Wpf_Excel - Fatal编程技术网

C# 在Excel 2013插件中未找到WPF ResourceDictionary

C# 在Excel 2013插件中未找到WPF ResourceDictionary,c#,wpf,excel,C#,Wpf,Excel,我有一些代码在VisualStudio插件项目中运行,没有任何问题。我们现在正在将一些功能移植到Excel插件,但遇到了一些问题 string fileUriPath = "pack://application:,,,/WpfVisualControls;Component/Resources/Localization-EN-US.xaml"; ResourceDictionary dict.Source = new Uri(fileUriPath); 在Excel中运行时,会引发以下异常:

我有一些代码在VisualStudio插件项目中运行,没有任何问题。我们现在正在将一些功能移植到Excel插件,但遇到了一些问题

string fileUriPath = "pack://application:,,,/WpfVisualControls;Component/Resources/Localization-EN-US.xaml";
ResourceDictionary dict.Source = new Uri(fileUriPath);
在Excel中运行时,会引发以下异常:

A first chance exception of type 'System.UriFormatException' occurred in System.dll

Additional information: Invalid URI: Invalid port specified.
它在VisualStudio下运行良好,因此我怀疑pack://application 需要在Excel中进行更改,我只是不知道可能是什么


关于如何解决这个问题有什么想法吗?

经过一番讨价还价后找到了解决办法:

string fileUriPath = "WpfVisualControls;Component/Resources/Localization-EN-US.xaml";
dict = Application.LoadComponent(new Uri(fileUriPath, UriKind.Relative)) as ResourceDictionary;

Application.Current对象为null导致了错误,因此使用静态加载组件方法为我解决了URI。

进一步的调查显示Application.Current对象为null,这可能是无法使用pack://application: 路径然而,声明一个应用程序对象会导致很多问题,所以这可能不是最终的解决方案。如果您接受了答案,我们知道它已经解决了。无需编辑标题: