相关疑难解决方法(0)

Visual Studio抛出了"错误的"编译时异常

为了在Mono中部署我的项目,我已经将它降级为.Net 4.0,因为我已经完成了我正在引用的库(CommonUtils).但是,我仍然遇到以下异常:

无法解析主要引用"CommonUtils",因为它对程序集"Newtonsoft.Json,Version = 4.5.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed"具有间接依赖性,它是针对".NETFramework,Version = v4构建的" .5"框架.这是比当前目标框架".NETFramework,Version = v4.0"更高的版本.

我试图解决这个问题:

  • 我已经在两个项目中重新安装了所有Nuget包
  • 我多次尝试清理项目/解决方案,删除所有bin/obj文件夹并重建所有内容
  • 我已经更改了程序集的名称,以确保没有任何缓存

这些都没有帮助.

这两个项目都设置为.Net 4.0.基准是通过复制编译组件CommonUtils成一个"ExternalLibraries" -folder,由于该DLL是在其他项目中也被使用.

右键单击Newtonsoft.Json.dll - 它binCommonUtils一起移动到该文件夹- 显示在详细信息/文件描述中:Json.NET .NET 4.0

我很确定我拥有一切正确的.net 4.0和Visual Studio也允许我添加库并支持我自动完成,只是编译抛出上述警告.作为警告的结果,我突然得到异常,即CommonUtils引用的类型都不存在

找不到命名空间名称'CommonUtils'的类型(您是否缺少using指令或程序集引用?)

还有什么我可以尝试使这项工作?

PS:几年前我遇到过类似的问题,一个旧的程序集用于编译,并通过从头开始设置窗口和视觉工作室来"解决"它,但这次我觉得不喜欢这样做.

更新:

它适用于另一台计算机:我已经通过USB Stick将文件夹结构带到另一台具有相同操作系统(Windows 8.1)和相同Visual Studio 2013的计算机 - 据我所知,两台计算机都应安装所有更新 - 它有效.

将USB Stick与成功编译的项目一起带回我的电脑 - 我仍然遇到同样的错误.

(我明白,这意味着两台计算机都不可能安装相同的所有东西,但我不知道如何找到差异,也许有些暗示这可能是错误的?)


更新2:

进程资源管理器没有太多帮助,但是当我使用诊断日志编译所有内容时,我想我得到了关键提示:

...
5>  Unified primary reference "Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed". (TaskId:158)
5>      Using this version instead of original version "4.5.0.0" in …
Run Code Online (Sandbox Code Playgroud)

.net c# visual-studio-2013

16
推荐指数
1
解决办法
3379
查看次数

标签 统计

.net ×1

c# ×1

visual-studio-2013 ×1