小编Rik*_*ley的帖子

是否可以使用COM可见类型构建.NET DLL而不需要VS提升?

项目中的程序集具有标记为ComVisible(true)的类型.

构建(非提升)时,VS尝试注册该DLL并失败:

无法注册程序集"\ path\to\foo.dll" - 访问被拒绝.请确保您以管理员身份运行该应用程序.访问注册表项"HKEY_CLASSES_ROOT\CLSID {FFC174A1-CC90-4E25-A3F6-C30B03368250}"被拒绝.

我们真的不希望DLL在构建机器上注册.我们只想在为最终用户安装它时注册它.

那么可以在不注册DLL的情况下构建吗?

com uac elevation comvisible visual-studio

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

如何在Vim中生成GUID?

Vim没有内置的GUID生成器.

对于我正在进行的项目,我可以依赖Powershell,因此下面给出了一个GUID字符串:

[guid]::NewGuid().ToString()
Run Code Online (Sandbox Code Playgroud)

我在替换中称之为,如下:

%s/foo/\=system('[guid]::NewGuid().ToString()')[:2]/
Run Code Online (Sandbox Code Playgroud)

虽然这有效,但它会为每次替换闪烁一个窗口,而且速度非常慢.

我真正想要的是一种在Vim中可移植且快速地生成GUID的方法.

vim powershell guid

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

可以在步骤之间共享SpecFlow功能吗?

我们有从三个不同角度测试的代码:

  • 内部(直接呼叫)
  • 网络服务
  • Web应用程序

由于我们不想编写三次功能文件,似乎我们应该在Steps之间共享功能,但我无法弄清楚如何完成这项功能,除了可能在VS项目之间共享文件,这似乎一直是有点,好吧,片状.

在项目之间共享功能文件是实现这一目标的最佳方式,还是有更明智的方法?

c# testing bdd specflow

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

通过COM可见DLL从VB6调用.NET方法

我创建了一个.NET DLL,它使一些方法COM可见.

一种方法是有问题的.它看起来像这样:

bool Foo(byte[] a, ref byte[] b, string c, ref string d)
Run Code Online (Sandbox Code Playgroud)

当我尝试调用该方法时,VB6给出了编译错误:

标记为受限制的函数或接口,或者该函数使用Visual Basic中不支持的自动化类型.

我读过数组参数必须通过引用传递,所以我改变了签名中的第一个参数:

bool Foo(ref byte[] a, ref byte[] b, string c, ref string d)
Run Code Online (Sandbox Code Playgroud)

VB6仍然提供相同的编译错误.

如何更改签名以与VB6兼容?

.net arrays vb6 com assemblies

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

标签 统计

com ×2

.net ×1

arrays ×1

assemblies ×1

bdd ×1

c# ×1

comvisible ×1

elevation ×1

guid ×1

powershell ×1

specflow ×1

testing ×1

uac ×1

vb6 ×1

vim ×1

visual-studio ×1