Pergunta

Eu gostaria de executar um arquivo DLL .NET do VBScript de forma síncrona - isso é possível? Se sim, é possível executar um GAC montagem?

graças, Ofer

Foi útil?

Solução

Eu acho que você deve primeiro fazer o .NET assembly COM visível, incluindo o atributo ComVisible no arquivo AssemblyInfo.cs:

[ComVisible(true)]

Veja esta página no MSDN: Embalagem uma Assembléia para COM

E, em seguida, em VBScript você pode acessar esses componentes pelos mesmos significa que componentes de acesso COM, ou seja, utilizando CreateObject ou Server.CreateObject como em:

Set testObj = CreateObject("MyNamespace.MyType")

Eu acho GAC pode até mesmo ser obrigatória para acessá-lo a partir do VBScript, mas eu havn't feito desta forma em torno de modo que eu não tenho certeza.

Por que você iria querer fazer isso no VBScript? Porque não basta fazer um aplicativo de console .NET que faria o seu VBScript pretendia fazer? Desde que a DLL já está em .NET, que não deve ser um problema, certo?


EDIT: Outra maneira de fazer isso poderia ser a de criar um EXE console em vez de uma DLL (ou um EXE que embrulha-se uma DLL) que você pode chamar de VBScript como um programa executável normal e examinar os resultados de retorno. Dependendo de vários fatores, isso pode ser mais flexível do que manter o código COM.

Outras dicas

VBScript só pode executar código de objetos COM, assim que você precisa para criar um wrapper COM para o seu código .NET e, em seguida, você deve ser capaz de chamar seu código .net.

Não diretamente.

Se a NET montagem foi exposto como um componente COM, então poderia ser.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top