
Uma ferramenta para criar um arquivo JScript que carrega um assembly .NET v2 a partir da memória.
Este arquivo faz parte do DotNetToJScript - Uma ferramenta para gerar um JScript que inicializa um Assembly e classe .NET arbitrários. Copyright (C) James Forshaw 2017
DotNetToJScript é software livre: você pode redistribuí-lo e/ou modificá-lo sob os termos da GNU General Public License conforme publicada pela Free Software Foundation, seja a versão 3 da Licença, ou (a seu critério) qualquer versão posterior.
DotNetToJScript é distribuído na esperança de que seja útil, mas SEM QUALQUER GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou ADEQUAÇÃO A UM DETERMINADO FIM. Veja a GNU General Public License para mais detalhes.
Você deve ter recebido uma cópia da GNU General Public License junto com o DotNetToJScript. Caso contrário, veja http://www.gnu.org/licenses/.
Notas de Uso:
Isto só funciona a partir de JScript de confiança total (obviamente), portanto deve funcionar em scriptlets etc. Por padrão, só funcionará se v2/v3/v3.5 estiver instalado. No entanto, se você especificar a opção '-ver auto' ao compilar a saída, ela também funcionará apenas em v4+, porém isso introduzirá uma dependência de WScript.Shell que você pode não querer.
Para usar isto, você precisará criar um assembly que tenha como alvo o .NET 2 (embora na maioria dos casos você também possa usar o 3.5, já que você não costuma ver o .NET 2 instalado isoladamente. No assembly, implemente uma classe chamada TestClass que faça algo que você queira fazer no construtor público sem parâmetros.
public class TestClass { public TestClass() { /* Start notepad */ Process.Start("notepad.exe"); } }
Certifique-se de que seja pública. Em seguida, passe para esta ferramenta o caminho para o assembly .NET. Se você anotar a classe com o atributo ComVisible, poderá até interagir com o objeto após ele ser criado. Por exemplo:
[ComVisible(true)] public class TestClass { public void DoSomething(string arg) { } }
Você pode alterar o nome da classe de entrada usando a opção -c e adicionando o nome. Você também pode fazer a ferramenta adicionar código adicional para interagir com o objeto especificando o parâmetro -s com o caminho para um arquivo de texto contendo o JScript adicional. O objeto criado é chamado 'o', então, por exemplo, se você quisesse chamar o método DoSomething, carregue um arquivo contendo:
o.DoSomething("SomeArg");
O modo padrão é gerar um arquivo JScript que pode ser executado no Windows Scripting Host. No entanto, se você quiser um scriptlet, passe -m (para um scriptlet que pode ser usado a partir de um moniker de scriptlet) ou -u (para um scriptlet que pode ser usado a partir do regsvr32). Você também pode especificar a opção '-l vba' para gerar um arquivo VBA que deve funcionar em Macros do Office ou '-l vbscript' para VBScript.
Por fim, por padrão a ferramenta gerará a saída em stdout; você pode gerar a saída diretamente para um arquivo usando a opção -o.