【问题标题】:Mvvm-light / Serilog design time error: Could not load file or assembly [VS2017]Mvvm-light / Serilog 设计时错误:无法加载文件或程序集 [VS2017]
【发布时间】:2017-08-02 13:05:36
【问题描述】:

当我打开一个具有引用 SeriLog 的视图模型的视图时,我在 DesignTime 中收到以下错误。

无法加载文件或程序集'Serilog,版本=2.0.0.0, Culture=neutral, PublicKeyToken=24c2f752a8e58a10' 或其其中之一 依赖关系。 Het system kan het opgegeven bestand niet vinden。我的应用 C:\snip\Projects\snip\myapp\myapp\Views\MyViews\MyView.xaml

翻译成英文的荷兰语字符串:“系统找不到文件”

项目编译并运行良好,但我想要一个无错误的设计时体验。现在这个错误破坏了我在 VS2017 中的设计时项目代码。 我该如何解决这个错误?

已经试过了:

  • 从 %userprofile%.nuget 中删除 serilog 文件夹并重新构建
  • 清理项目文件夹 bin\ 和 obj\ 文件夹
  • 重建项目
  • 重启VS2017
  • 重新启动计算机
  • 另一个工作站显示相同的错误
  • 编译 serilog 并将自己沉入 netcore1.6 目标

我正在构建一个针对周年纪念版 14393 框架的 UWP 应用。

project.json 序列日志参考:

 "Serilog": "2.4.0",
 "Serilog.Sinks.RollingFile": "3.3.0",

复制问题的示例 VS 项目

我在 DetailPage.xaml 上使用 mvvm-light viewmodel 创建了一个空白 Template10 项目,其中显示了 serilog 错误。

下载位置:

https://www.dropbox.com/s/uocjx0kuc1dknwt/Template10_Serilog_Sample.zip?dl=0

错误截图

【问题讨论】:

  • 能否提供相关代码 sn-p,因为我无法重现您的问题?
  • 我在帖子中添加了一个示例项目下载位置以及我在 X86 调试模式下编译后看到的错误的屏幕截图。
  • 我的 xaml 设计视图工作正常,我的设计器没有崩溃,也不需要重新加载。也没有可查看的堆栈跟踪。所以设计视图工作正常,但是,由于 serilog 错误,我的 viewmodellocator 中的设计时数据没有加载到我的 xaml 设计器中。一旦我从我的视图模型中评论日志记录功能,设计时间数据就可以正常工作。
  • 问题类似于stackoverflow.com/questions/39471849/…,似乎在删除serilog包后,解决方案仍然单独使用serilog.sink.rollingfile包构建
  • 您能再检查一下您的环境吗?您上传的项目对我来说没有错误。你的操作系统版本是多少?你用过 Visual Studio 2017 RC 吗?我的DetailPage 没有错误显示here

标签: c# .net uwp mvvm-light serilog


【解决方案1】:

我认为您使用的是更高的 .net 框架版本。 我之前在 vs2017 的 asp.net mvc 项目中也遇到过同样的问题,但是当我将目标 .net 框架版本更改为更低版本时,我的问题得到了解决。

【讨论】:

  • 不幸的是,更改目标 UAP 框架对于我的项目来说并不是一个真正的选择,因为我正在使用仅在周年更新中添加的功能。
【解决方案2】:

尝试使用包管理器进行更新。

转到:工具 > Nuget 包管理器 > 包管理器控制台

然后输入:

Update-Package Serilog

【讨论】:

  • 谢谢,但我的 NuGet 包已经是最新的“项目的当前包源中没有可用的包更新”
猜你喜欢
  • 1970-01-01
  • 2023-03-21
  • 1970-01-01
  • 2018-09-08
  • 2010-10-07
  • 2023-03-05
  • 1970-01-01
  • 2013-02-23
相关资源
最近更新 更多