gpt4 book ai didi

c# - 在智能感知中找到但在编译时找不到的扩展

转载 作者:行者123 更新时间:2023-11-30 14:37:55 26 4
gpt4 key购买 nike

这真是令人沮丧!我有一个跨项目使用的通用代码库。但是由于某种原因,我的扩展已停止在此项目中工作。我已经在很多其他项目中使用过它们,但我不知道是什么阻止了它们现在的工作!哎呀!

这是一个示例扩展,您可以了解它们是如何设置的。

 public static string ToAlphaNumeric(this string InputString)
{
string OutputString = string.Empty;
OutputString = Regex.Replace(InputString, @"[^a-zA-Z_0-9]+", "-");
OutputString = Regex.Replace(OutputString, "[_]+", "-");
OutputString = OutputString.Trim(new char[] { '-' });
return OutputString;
}

我当前的项目是 v4.0,我的代码库是 3.5,虽然我已经尝试将它升级到 4.0,但并没有解决它。我在每个页面的顶部添加了一个引用,因为我无法在 web.config 中定义它来工作。

它肯定在我的页面上引用并在智能感知中找到。但是,当我构建项目时出现错误,提示“string”不包含“ToAlphaNumeric”的定义。但确实如此!为什么会出现此错误?

如果我遗漏了任何需要的信息,我深表歉意,我已尝试包括所有我能想到的信息。

谢谢!

最佳答案

导致此错误的两个最可能的原因是

  • 您忘记添加对定义扩展的项目的引用
  • 您忘记为定义扩展名的命名空间添加 using

追踪错误的最简单方法是删除扩展语法并直接进行静态调用。

TheNamespace.TheExtensionType.ToAlphaNumeric(myString)

现在编译要么工作要么提示 TheExtensionType 不可用。如果有效,则您的 using 不正确,如果失败,则您缺少对程序集的引用。

关于c# - 在智能感知中找到但在编译时找不到的扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8770670/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com