为什么元数据文件中存在某些类型?

时间:2019-04-12 01:22:39

标签: c# webforms

我要将ASP网站项目移植到Web应用程序项目中。我遇到了一个命名空间和一个我在任何地方都找不到的类型。我在工作正常的网站上检查了它们,每当我转到[F12]定义时,它们总是引用临时位置中的文件。位置为[C:\ Users \“用户名” \ AppData \ Local \ Temp \ MetadataAsSource \ e98d1328e8484b79bd026794a3eeb63e \ 536d6ba4484547879b395d3105ab2bf5

    #region Assembly App_Web_wuctoolbarcustom.ascx.eeb48aa3.alvsygha,    Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
    // C:\Users\"username"\AppData\Local\Temp\Temporary ASP.NET Files\root\f0bfb755\_shadow\bd9578ae\25500\App_Web_wuctoolbarcustom.ascx.eeb48aa3.alvsygha.dll
    #endregion

    using System.Diagnostics;
    using System.Runtime.CompilerServices;
    using JDQ.Controls;

    namespace ASP
    {
        [CompilerGlobalScope]
        public class jdqcontrols_wuctoolbarcustom_ascx : ToolbarCustom
        {
            [DebuggerNonUserCode]
            public jdqcontrols_wuctoolbarcustom_ascx();

            [DebuggerNonUserCode]
            protected override void FrameworkInitialize();
        }
    }

由于找不到类型或名称空间的ASP,因此无法编译新的Web应用程序,而即使删除了临时位置中的元数据文件,旧的网站也可以成功编译。我想这个文件是通过某种方式生成的,我想知道如何为Web应用程序做同样的事情?

1 个答案:

答案 0 :(得分:0)

我找到了。显然,他们在Web站点项目中调用用户控件的方式是使用ASP.namespace_control_ascx类型,并且由于在运行时编译了网站而在运行时生成了该类型,但是Web应用程序是预编译的,因此无法使用该类型。找不到。可以通过类名(就像您使用任何其他类型一样)简单地引用用户控件是方法(在网站上无法完成)。