C# 为什么引用的静态类成员在一个项目中不可访问,但在另一个项目中可以访问

C# 为什么引用的静态类成员在一个项目中不可访问,但在另一个项目中可以访问,c#,reference,project,C#,Reference,Project,对象浏览器中引用的类如下所示: 不使用RegexParse4Lib visual studio 2012 intellesense建议使用 RegexParse4Lib.regexParse.RegexReplace(... 但是,完成后,它将RegexReplace标记为不存在。另一方面 Regex.Replace(... 被接受 更令人费解的是,我无法使用RegexParse4Lib添加;尽管intellisense允许我将其放在类的开头但如果引用库的项目是客户端配置文件(这是.NET

对象浏览器中引用的类如下所示:

不使用RegexParse4Lib visual studio 2012 intellesense建议使用

RegexParse4Lib.regexParse.RegexReplace(...
但是,完成后,它将RegexReplace标记为不存在。另一方面

Regex.Replace(...
被接受


更令人费解的是,我无法使用RegexParse4Lib添加;尽管intellisense允许我将其放在类的开头

但如果引用库的项目是客户端配置文件(这是.NET完整版本的子集),而库是常规版本(不是客户端配置文件),则可能会发生这种情况

如果所引用项目的目标框架较高,也可能发生这种情况。如果您尝试引用的库具有较低的framework版本,则应该可以,因为.NET framework版本是向后兼容的。但是,如果您试图引用具有更高框架版本的库,则该库将无法工作:该库的代码可能利用了旧框架中不可用的新.net功能


将项目更改为具有与库相同或更高的框架版本。

可能引用它的项目正在客户端配置文件模式下运行。检查房地产谢谢@CodingYoshi;你肯定帮我找到了问题。“有问题的项目”正在使用.net framework 4,而其他项目正在使用.net 4.5。在将“有问题的项目”更改为使用.NETFramework4.5之后,我能够添加“使用RegexParse4Lib”。我猜RegexParse4Lib是用.NETFramework4.5构建的,所以在.NET4项目上使用时可能会引起麻烦。太棒了!我写了一个答案,在任何情况下,其他人有这个问题。