我在winforms项目上编程已经有一个月了。最近,表单设计器之一总是显示错误页面。
当项目只是加载到VS上时,就没有错误了。在我做了一些修改之后,重新构建它将显示以下错误页面:

组件'LiveCharts.Wpf.DefaultLegend‘没有由URL LiveCharts.Wpf.DefaultLegend标识的资源
调用堆栈显示:
at System.Windows.Application.LoadComponent(Object component, Uri resourceLocator)
at LiveCharts.Wpf.DefaultLegend.InitializeComponent() in c:\Users\btord\Documents\Projects\LiveCharts\WpfView\DefaultLegend.xaml:line 1
at LiveCharts.Wpf.Charts.Base.Chart..ctor() in c:\Users\btord\Documents\Projects\LiveCharts\WpfView\Charts\Base\Chart.cs:line 82
at LiveCharts.Wpf.CartesianChart..ctor() in c:\Users\btord\Documents\Projects\LiveCharts\WpfView\CartesianChart.cs:line 40
at LiveCharts.WinForms.CartesianChart..ctor() in c:\Users\btord\Documents\Projects\LiveCharts\WinFormsView\CartesianChart.cs:line 46
at Controls.Chart.MyChart.InitializeComponent()
at Controls.Chart.MyChart..ctor() 我检查了路径,但没有找到'c:\Users\btord‘目录,几天前我将文档目录移到了D驱动程序。
有时,在发布之后,它会显示另一个错误页面:

无法加载文件或程序集“LiveCharts.WinForms、Version=0.9.6.0、Culture=neutral、PublicKeyToken=0bc1f845d1ebb8df”或其依赖项之一。
而且在设计人员的源代码中没有任何错误,在构建时也是如此。执行文件可以正常运行。
发布于 2020-06-23 03:31:02
这种情况通常发生在解决方案构建中存在多个动态图表dll副本时。
对我来说,它既用于主可执行文件,也用于在子文件夹中构建插件类库。其效果是在不喜欢的不同文件夹中的的两个副本。
Packages.config
如果使用packages.config文件来处理引用,则可以将LiveCharts引用设置为"CopyLocal"=false。这将停止包含生成的dll的多个副本。它将很高兴地使用加载在主项目中的副本。
包引用
遗憾的是,在使用更新的样式包引用时,没有选择不复制文件。删除额外的副本后构建似乎是最简单的解决办法,我已经找到。
在“项目属性”中,“生成事件”页,“发布生成事件命令行”框中添加
del $(TargetDir)LiveCharts.*
$(TargetDir)是您的项目输出路径。
https://stackoverflow.com/questions/44584801
复制相似问题