小编pre*_*rem的帖子

不能跨程序集边界使用,因为它具有嵌入式互操作类型的泛型类型参数

我在VB.Net中将Sub更改为函数时遇到此错误

类型System.Collection.Generic.List(Of Mshtml.IHTMLDocument2)不能跨程序集边界使用,因为它具有嵌入式互操作类型的泛型类型参数.

有谁知道如何解决它?

vb.net

12
推荐指数
2
解决办法
4370
查看次数

使用VB.Net访问html <embed>标签源html中的元素

我在我的Vb.Net WinForms应用程序中使用SHDocVw.InternetExplorer API从Internet Explorer获取元素.我可以轻松访问父文档和框架元素中的元素,但我无法访问'embed'容器中的元素.这是示例代码:

    Dim ie As SHDocVw.InternetExplorer
    ie.Navigate("Some URL")
    ie.Visible = True
    Dim ieDoc As mshtml.IHTMLDocument2 = ie.Document

    'All Elements
    Dim allElements = ieDoc.all

    'Frames
    Dim allFrames = ieDoc.frames

    'Fetch each frame and use its document to get all elements

    Dim allEmbed = ieDoc.embeds

    'How to fetch document inside embed to access its elements?
Run Code Online (Sandbox Code Playgroud)

这是一个示例html:

Sample.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<title>Sample</title> 
</head>
<body>
	<embed src="test.html" name="test1"/>	
</body>
</html>
   
Run Code Online (Sandbox Code Playgroud)

的test.html

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<title>Sample</title> …
Run Code Online (Sandbox Code Playgroud)

vb.net internet-explorer mshtml shdocvw

5
推荐指数
1
解决办法
691
查看次数

在DELETE CASCADE中,自引用MySQL表的深度超过15级失败

我有一个自我引用外键的MySQL表.ON DELETE CASCADE在它中工作得非常好,但是我注意到一个奇怪的行为,它对于父实体最多只能工作14个级别.一旦我添加一个15级孩子并尝试删除父级,它就会开始抛出错误

"无法删除或更新父行:外键约束失败"

这是层次结构的图像.

在此输入图像描述

尝试删除Parent将抛出错误.

  • 在删除Child15时,可以删除Parent
  • 在不删除Child15的情况下,如果我尝试删除Child1,则会成功删除它.

此处重现行为的示例模式.在构建架构之前粘贴此行查询,其中id = 1而不是id = 2

DELETE FROM table1 WHERE id = 1;

我知道删除它的可能的解决方法

  • SET FOREIGN_KEY_CHECKS = 0
  • 删除时向下移动

但是我想知道,对于ON CASCADE DELETE,这是一些已知的MySQL限制吗?

我使用的是MySQL服务器版本5.6

mysql foreign-keys cascading-deletes self-reference

4
推荐指数
1
解决办法
913
查看次数

Npgsql v5.0.0 GAC安装

正如 Npgsql 版本 5.0 发行说明(重大更改)中所述 MSI GAC 安装程序已停止使用。发行说明中的​​声明如下:

Npgsql 不再针对 .NET Framework 4.6.1。由于目标是 .NET Standard 2.0,因此仍然可以从 .NET Framework 应用程序使用 Npgsql;但是,我们不再在 .NET Framework 上运行回归测试,并且只会尽力修复错误。此外,Visual Studio 扩展 (VSIX) 和 MSI GAC 安装程序已停止使用。第3269

由于此更改,我面临的问题是我的客户使用 MSI 安装程序在 GAC 中安装 Npgsql,而我的应用程序使用.Net FrameworkSystem.Data.Common.DbProviderFactories动态加载其工厂。这使我可以灵活地让客户根据其数据库版本选择所需的提供程序版本。

切换到 nuget 包安装将增加更新我的应用程序中的 Npgsql 包的开销。因此,我想避开这条路线。有没有办法像 MSI 安装程序一样在 GAC 中安装最新的 Npgsql 5.0 版本?

如果是,请告诉我执行步骤。

.net gac npgsql

3
推荐指数
1
解决办法
5404
查看次数

使用FileStream删除后创建文件时出现UnauthorizedAccessException

我在客户端系统上面临一个问题.在尝试使用示例代码重现它时,我已经复制了它.

这是示例代码

Imports System.IO

Public Class Form1

    Private _lock As New Object

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim t As New Threading.Thread(AddressOf createFile)
        With t
            .IsBackground = True
            .Name = Guid.NewGuid.ToString
            .Start()
        End With
    End Sub

    Private Sub createFile()
        Dim path As String = "D:\SomeFile.txt"

        For i As Integer = 0 To 1000
            SyncLock _lock
                If File.Exists(path) Then File.Delete(path)

                Using fs As New FileStream(path, FileMode.CreateNew)

                End Using
            End SyncLock    
        Next
    End Sub
End …
Run Code Online (Sandbox Code Playgroud)

.net vb.net multithreading filestream file-access

1
推荐指数
1
解决办法
3401
查看次数