0

首先,提前感谢您的帮助,请原谅我对这些主题的知识相对缺乏,以及这篇长篇文章。我有一个奇怪的参考问题,我正在努力解决。我已经对这个主题进行了许多小时的研究,但我认为我有限的知识阻碍了我的理解。我在这里有点失去理智。

我们正在审查一个项目,遇到了一个奇怪的情况,即在应用程序(Sitefinity 10.1.6502)的原始 .csproj 文件中引用了 System.IO 和 System.Runtime,但在我们拥有的 .csproj 副本中文件开发后它们已被删除。两者中仍然有对 System.Runtime.Caching 和 System.Runtime.Serialization 的引用。

当我在网上查看 Sitefinity 的公共 Git 示例存储库时,我发现大约 1/2 的具有相同版本代码的示例确实具有并且像原始文件一样,而 1/2 没有像我们的文件那样具有它们回购。有些似乎在以后升级版本(到 10.2 或 11)时添加了这些引用。

我也没有在当前的 /bin 文件夹中看到 System.Runtime.dll,或者在 web.config 中看到它。我无权访问 GAC。

问题是这些缺失的引用是否会导致任何问题。该项目似乎使用我们拥有的后期开发 .csproj 文件在 VS2017 中正确编译(没有 System.IO 和 System.Runtime)

我们相信该项目最初是在 VS2015 中构建的,并且发现这篇文章提到了我们正在处理的确切引用,所以也许 VS2015 是问题的一部分?System.IO、System.Runtime 的未解决项目参考

我知道这些是外观,System.IO 是 System 中的命名空间,它是两个 .csproj 版本中的直接引用,所以应该涵盖,对吗?

真正的问题是 post-dev .csproj 文件中的缺失是否会导致任何问题。就像我上面提到的,该项目在 VS2017 中没有它的情况下编译,并且文件似乎在测试服务器上工作正常(可以导航前端网页并且所有功能都工作,但我们无法测试任何后端功能,因为它与实时环境共享数据库(我们无法控制)。

通过我的研究,我看到它提到 System.Runtime 应该在工具/编译期间自动包含,并且在正常情况下它不需要像我们看到的一半存储库那样直接引用。这个对吗?

我不太担心 System.IO,因为它已经通过 System 包含在内,但据我了解,System.Runtime 并非如此

再次感谢您帮助我们解决这个问题,我们开始努力弄清楚这是否是我们应该担心的问题!

4

0 回答 0