相关疑难解决方法(0)

如何在Excel VBA中使用.NET对象?

VBA代码可以实例化并使用.NET对象吗?我感兴趣的特定类是System.IO.Compression.GZipStream.

对于Info GAC是.NET全局程序集缓存

.net excel vba excel-vba

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

在 ASP Classic 中为 COM 可见性注册 .NET DLL

我们正在尝试编写几个应用程序。一个 ASP.NET 站点使用 .NET Assembly xxx.Elements.dll,它提供实用程序功能。

另一个是 Classic ASP 站点,也应该使用相同的 DLL 以使用相同的实用程序函数。(它将用于加密两个站点之间的数据)。

尽管进行了多次尝试和谷歌搜索,但我们无法使其正常工作。

我们有:

将 ComVisibility 应用到 Assembly.info 并确保有一个 Guid:

[assembly: ComVisible(true)]
[assembly: Guid("ab96fbc3-aa39-4fb6-8628-13778445e503")]
Run Code Online (Sandbox Code Playgroud)

我们通过确保我们的类型具有默认构造函数、ComVisible 和 Guid 来确保我们的类型在类型可见性上打勾。我们还创建了一个简单的测试方法:

namespace xxx.Elements
{
    [GuidAttribute("D3BE2C7D-7550-4da1-8F61-6871E193242F")]
    [ComVisible(true)]
    public  class UrlUtility : IUrlUtility
    {

        public UrlUtility()
        {
        }

        public string Test()
        {
            return "HellO";
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

使用界面:

[GuidAttribute("D3BE2C7D-7550-4da1-8F61-6871E193242A")]
[ComVisible(true)]
public interface IUrlUtility
{
    string Test();
}
Run Code Online (Sandbox Code Playgroud)

我们发现这真的很有用(虽然没有解析)在这里发布:警告 MSB3391:不包含任何可以为 COM 互操作取消注册的类型。

我们还在项目属性页中检查了 COM-Interop 的注册器。

这继续输出警告:

c:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(3341,9): warning MSB3214: "D:\dev\yyy\xxx.Elements\bin\Release\xxx.Elements.dll" does not contain any types …
Run Code Online (Sandbox Code Playgroud)

asp.net com asp-classic

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

标签 统计

.net ×1

asp-classic ×1

asp.net ×1

com ×1

excel ×1

excel-vba ×1

vba ×1