gpt4 book ai didi

asp.net 网站和默认命名空间以及 LINQ Datacontext 第 2 部分

转载 作者:行者123 更新时间:2023-12-04 16:59:03 24 4
gpt4 key购买 nike

让我试着换个角度来问这个问题。

我注意到每次使用“网站”模型在浏览器中呈现 aspx 页面时,都会在临时 ASP.NET 文件中“即时”创建一个随机程序集。在 Reflector 中分​​析程序集表明为任何给定的 .aspx 文件创建的类都在“ASP”命名空间下。

因此,从一个空的“临时 ASP.NET 文件”目录开始,我在 VS2008 中打开了我的 ASP.NET“网站”,并启动了默认页面。我立即观察到在该文件夹中生成了一个随机目录。沿着这条路走下去,我发现创建了 2 个 DLL:App_Code.1lywsqqz.dll 和 App_Web_iohekame.dll。我假设网站中的所有 .aspx 页面都被编译到 App_Web dll 中,而 App_Code 文件夹中的所有内容都被编译到 App_Code.dll 中。

因此,如果我的 App_Code C#/VB.net 文件在“ASP”命名空间下,而我的 App_Web 文件是在“ASP”命名空间下创建的,为什么我仍然收到错误“无法加载类型 'ASP.NothwindDataContext'?

有人说“你不需要 App_Code 文件夹中的命名空间”,但我尝试了它,但仍然得到“无法加载类型'NorthwindDataContext'”。

那么 App_Code 文件夹、站点的其余部分和命名空间之间发生了什么?

编辑:
这是我的 .aspx 文件中的 LinqDataSource:

<asp:LinqDataSource ID="LinqDataSource1" runat="server" 
ContextTypeName="NothwindDataContext" EnableUpdate="True"
TableName="Categories">
</asp:LinqDataSource>

“NorthwindDataContext”和“ASP.NorthwindDataContext”都不起作用。

最佳答案

输入 App_Code C# 源文件,就像任何 C# 文件一样,不会被放在特定的命名空间中,除非由 namespace Name {...} 明确声明。周围。所以一个类MyClass声明于 App_Code将具有完全限定的类型名称 MyClass .只是。

您可以在 Web.config 中引用它如:"MyClass, App_Code" .

旁注:当您在 App_Code 中使用 DBML 时, 生成的类的命名空间在该文件中定义(在 DBML 文件打开时查看属性窗口)。如果您在该文件中指定一个命名空间,自然地,您的类将在该命名空间中定义。请注意,这与我上面所说的并不矛盾。问题是,LINQ 数据上下文生成器处理文件并定义特定命名空间中的类。

关于asp.net 网站和默认命名空间以及 LINQ Datacontext 第 2 部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/671142/

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