我有一个扩展方法,比如

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相关问答推荐

如何向 Array.IndexOf 添加不区分大小写的选项

无法连接到 ASP.Net 开发服务器问题

jQuery隐藏字段

解析器错误消息:文件/TestSite/Default.aspx.cs不存在

ASP.NET GridView 第二个标题行跨越主标题行

多个 DataContext 类是否合适?

从 GUID 中删除破折号是个好主意吗?

使用 Visual Studio 2012 恢复删除的文件

对 ASP.NET 2.0 网页进行单元测试的最佳方法是什么?

禁用 web.config 继承?

如何在实体框架中添加表?

如何将 LINQ 左外连接限制为一行

Asp.Net Mvc - 如何在共享视图中有一个控制器

调查 Web.Config 重复部分原因的步骤

使用 ConfigurationManager.RefreshSection 重新加载配置而不重新启动应用程序

DropDownList 的 SelectedValue 与 SelectedItem.Value

如何将 DataTable 转换为类 Object?

如何创建代表 colored颜色 的随机十六进制字符串?

ASP.NET MVC2/3 中runAllManagedModulesForAllRequests的正确用法是什么?

在 ASP.NET 中写入文件以响应后回发不起作用