我有一个扩展方法,比如

public static class Extension
{
    public static string GetTLD(this string str)
    {
        var host = new System.Uri(str).Host;
        int index = host.LastIndexOf('.'), last = 3;
        while (index >= last - 3)
        {
            last = index;
            index = host.LastIndexOf('.', last - 1);
        }
        var domain = host.Substring(index + 1);
        return domain;
    }
}

我把这叫做

string domain = "." + _url.GetTLD();

我在建造和清洁建造方面没有错误

以下方法或属性之间的调用不明确: ‘myIGNOU.Extension.GetTLD(String)’和 ‘myIGNOU.Extension.GetTLD(String)’

我发誓我没有把这个扩展方法放在项目的其他地方.

但如果我删除了这个方法,那么我在构建时,而不是在运行时,会得到错误.没有这个方法的代码,一切都正常.

Here is compilation error page

推荐答案

这不是一个真正的解决方案,我无法解释它是如何工作的,但它起了作用.

我try 了项目属性、参考资料、bin和obj中的所有内容,但都没有真正帮助我.我try 了所有选项,从上下文菜单中 Select 了"转换为Web应用程序".尽管之前它本身就是一个Web应用程序.它向我显示了一条警告,说每个aspx文件将添加.designer.cs个文件,我只是单击了OK.

除了App_Code文件夹(所有这些类所在的位置)被重命名为Old App_Code之外,一切都保持不变,我将构建该项目.现在,我在运行时没有收到编译错误.

我知道App_代码文件夹是用于网站项目的,在WAP中我一直没有这个问题.但我只是意识到我不应该在WAP中有App_Code文件夹,因为这是在这里讨论的wrox forum (1st point).作者在这里说

WAP中不支持APP_Code.App_Code文件夹在以下位置编译 run-time;WAP中的所有代码都在编译/开发时编译.因此,当您将App_Code文件夹添加到WAP时.你最终会得到 重复代码;例如,App_Code中定义的类还将 显示在wap dll中.修复很简单:只需将文件夹命名 其他内容,如类或CodeFiles.

在转换之前,我也try 过对它进行重命名,但那一次它不起作用.

Asp.net相关问答推荐

IIS重写模块排除机器人但允许GoogleBot

无法在Microsoft Windows Server 2016(数据中心)上运行.NET可移植性分析器

在每个对象上设置 ClientIDMode = Static 是否有任何缺点(在母版页的 maincontent 上设置)

Dotnet core 2.0 身份验证多模式身份 cookie 和 jwt

RestSharp 获取请求的完整 URL

asp.net mvc 中的 RedirectToAction 用法

ASP.NET 在更新面板更新时显示正在加载...消息

IIS 6.0 通配符映射基准?

ASP.NET MVC 5 中的路由可选参数

如何解决 Kerberos 双跳问题?

如何使用 app_GlobalResource 或 app_LocalResource?

Windows 运行 ASP.NET 的 IIS 替代方案

ASP.NET IIS Web.config [内部服务器错误]

WebForm_PostBackOptions 文档

如何在 ASP.Net Gridview 中添加确认删除选项?

删除 HTML 或 ASPX 扩展

如何在 .NET Core 中实现 DbContext 连接字符串?

ContentResult 与字符串

在 ASP.NET MVC 中获取服务器机器名称?

ASP.net 网站中的 C# 密码文本框