首页 > 解决方案 > 在新项目中找不到具有相同版本的“Glass.Mapper.Sc”中的“sc”命名空间

问题描述

我创建了一个新的 .NET XUnit Core 项目,将其转换为 .NET Framework 4.6.1 以与其他遗留解决方案类似,并尝试添加一个新测试。我意识到我需要为 ISitecoreContext 使用 Glass Mapper(我认为它可能会被贬值,但我们在代码中使用它),因为这是一个 Sitecore 解决方案,在各种项目中都有一些自定义代码,所以我尝试添加相同的 Glass Mapper 库. 因此,我卸载了其他几个项目,梳理了他们的项目文件以找到 Castle.Core、Glass.Mapper.Sc 和 Sitecore Nuget 包的版本,然后将这些 Nuget 包添加到我的项目中。

但是,现在我无法将 Glass.Mapper.Sc 命名空间添加到我的新测试文件中。Glass.Mapper 存在,但 Glass.Mapper.Sc 不存在。较旧的项目是 .NET Framework 4.6.1,Nuget 包版本相同。我唯一能看到的不同是旧项目使用“参考”,而新项目在 Dependencies 下有 Nuget 包。我认为较旧的项目只是链接到根的包文件夹中的解决方案的 Nuget 包。

我在这个项目中缺少什么?这是因为我在项目文件中将它从 .net core 转换为 framework 4.6.1 吗?我认为 C# 中的新项目有自己的 Nuget 包和程序集,而不是拥有它们的解决方案?这是因为新项目在处理引用的方式上有所不同吗?我无法更改解决方案或其他项目(因为我们正在尝试修复此遗留代码)。我确信这是我刚刚忽略的一些愚蠢的事情,或者我错过了一些基本的事情。先感谢您。

标签: .netnugetsitecoreglass-mapper

解决方案


在这种情况下,我认为Glass.Mapper.Sc.XX.MVC缺少对 package 的引用。
为了让它在我正在升级的项目中为我工作,我必须有 2 个包引用:MVC 一个和Glass.Mapper.Sc.Core


推荐阅读