运行应用程序时出现此错误。
XmlParseException Occured 无法加载文件或程序集System.Windows.Controls.DataVisualization.Toolkit,PublicKeyToken = 31bf3856ad364e35'或其中一个依赖项。系统找不到指定的文件
XAML
<UserControl x:Class="myNamespace.Views.ChartView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:chart="clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Grid>
<Label Margin="10" Content="Scatter series" />
<chart:ScatterSeries DependentValueBinding="{Binding Value}"
IndependentValueBinding="{Binding Key}"
ItemsSource="{Binding PlotValues}" />
</Grid>
ViewModel:
public ObservableCollection<KeyValuePair<double, double>> PlotValues
{
get { return _plotValues; }
set { _plotValues = value; }
}
答案 0 :(得分:1)
我认为您的问题与Visual Studio或MSBuild中的依赖项检测的问题/错误有关(可以找到相关的错误here)。
通过执行以下操作,我已经能够重现您的问题:
System.Windows.Controls.DataVisualization.Toolkit
NuGet包(不 WPF应用程序)问题似乎是在代码中没有任何引用(在XAML之外),Visual Studio假定您没有使用程序集,因此不会将其复制到引用它的主应用程序/项目的输出目录中。更多细节可以找到here,虽然这些是普通代码中的引用(C#,而不是XAML)。
有三种解决方法似乎使Visual Studio检测到我所知道的依赖关系:
在我自己努力解决相同问题几个小时之后,我相信已经发现Visual Studio无法直接在XAML 中使用单个用法来检测对dll的依赖代码引用(或名称,为您创建代码引用,允许您在代码隐藏中访问控制器)。
编辑: 我已通过Connect向Microsoft报告了此问题,因此希望能够解决此问题。