首先,感谢您的事先帮助,请原谅我相对缺乏关于这些主题的知识,以及这篇冗长的文章。我正在尝试解决一个奇怪的参考问题。我已经在这个问题上进行了许多小时的研究,但是我认为我有限的知识使我无法理解。我在这里有点不知所措。
我们正在审查一个项目,遇到了一种奇怪的情况,其中在应用程序的原始.csproj文件(Sitefinity 10.1.6502)中引用了System.IO和System.Runtime,但在.csproj的副本中我们已将其开发后的文件存档删除。两者仍然仍然引用System.Runtime.Caching和System.Runtime.Serialization。
当我在Online上以及Sitefinity的公共Git示例存储库中查看时,我发现大约有1/2的示例具有与原始文件相同的代码,并且具有与原始文件相同的示例,而1/2的示例却没有像原始文件那样。文件在我们的仓库中。有些人似乎在后来的版本(升级到10.2或11)中添加了这些引用。
我也没有在当前的/ bin文件夹中看到System.Runtime.dll,也没有在web.config中看到它。我无权访问GAC。
问题是这些丢失的参考文献是否会引起任何问题。使用我们拥有的开发后的.csproj文件(没有System.IO和System.Runtime),该项目似乎可以在VS2017中正确编译
我们相信该项目最初是在VS2015中构建的,发现这篇文章提到了我们正在处理的确切参考,所以也许VS2015是问题的一部分吗? Unresolved Project References for System.IO, System.Runtime
我了解这些是外观,并且System.IO是System中的命名空间,在两个.csproj版本中都直接引用该命名空间,所以应该覆盖它,对吗?
真正的问题是,后开发.csproj文件中的丢失是否会引起任何问题。就像我上面提到的那样,该项目在VS2017中没有它就可以编译,并且文件似乎可以在测试服务器上正常工作(可以浏览前端网页,并且所有功能都可以运行,但是我们无法测试任何后端功能,因为它与实时环境共享数据库(不受我们控制)。
在我的研究中,我已经看到它提到了System.Runtime应该在工具/编译过程中自动包含在内,并且在正常情况下,不需要像它所见的一半那样直接引用它。这是正确的吗?
我不必担心System.IO,因为System.IO已经通过System包含了,但是据我了解,System.Runtime并非如此
再次,非常感谢您为我们解决了这个问题,我们开始变得愚蠢,试图找出这是否是我们应该担心的问题!