gpt4 book ai didi

asp.net - 在 .NET 4.7.2 下使用 VB.NET 在 WebForms 中进行构造函数注入(inject)

转载 作者:行者123 更新时间:2023-12-02 18:34:00 24 4
gpt4 key购买 nike

在 .NET 4.7.2 中,Microsoft 引入了通过使用 HttpRuntime.WebObjectActivator 在 WebForms 中使用构造函数注入(inject)的功能,如 here 所示。

给出的示例是用 C# 编写的。我正在开发一个旧版 VB.NET 应用程序,该应用程序正在进行现代化改造。我们希望使用构造函数注入(inject)来代替我们一直计划使用的属性注入(inject),因为它更规范。

但是,当我尝试为 WebForm 提供参数化构造函数时,出现以下错误。

(BC30387) Class 'testpage_aspx' must declare a 'Sub New' because its base class 'TestPage' does not have an accessible 'Sub New' that can be called with no arguments.

这似乎是由于 VB.NET 处理构造函数和继承的方式造成的。 VB.NET 处理构造函数的方式是否可以在 VB.NET WebForms 项目中使用参数化构造函数?

最佳答案

您是否在 web.config 中将应用程序定位到 4.7.2?像下面这样的东西。构造函数注入(inject)不能在网站项目(没有 vbproj 文件的项目类型)中的 Page/Controls 中使用,因为在为 Pages/Controls 生成代码时,Page/Controls 的基本类型是未知的。

<httpRuntime targetFramework="4.7.2"/>

编辑:这是blog post关于如何在现有的 WebForms 应用程序中使用 Unity。

关于asp.net - 在 .NET 4.7.2 下使用 VB.NET 在 WebForms 中进行构造函数注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50684824/

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