none
Criar instância de uma dll no Framework 4.0 apartir de um aplicação que utilize framework 2.0 RRS feed

  • Pergunta

  • Boa noite,

    Gostaria de saber com faço para criar a instância de uma classe que está no framework 4.0 apartir de um aplicação que utiliza o framework 2.0

    Fiz a seguinte tentativa

    Utilizei o recurso "CreateObject", com isso a instância foi criada porem tenho uma função que retorna "Generic", ao realizar a chamada para esta função é retornado o seguinte erro:

    Não é possível converter o objeto COM do tipo 'System.__ComObject' no tipo de classe 'System.Collections.Generic.List`1[IServicoCatalogoCalculo]'. Instâncias dos tipos que representam componentes COM não podem ser convertidas em tipos que não representam componentes COM. No entanto, elas podem ser convertidas em interfaces, desde que o componente COM subjacente ofereça suporte a chamadas de QueryInterface para o IID da interface.

    Gostaria de saber se existe outra forma?


    • Editado JRCGYN quinta-feira, 11 de outubro de 2012 12:13
    quarta-feira, 10 de outubro de 2012 21:17

Todas as Respostas

  • Amigo, o velho CreatObject é um comando de instânciação do VB, porém não entendi seu cenário completamente. você tem uma aplicação que herda de ServicedComponent (COM+) em framework 2.0 e migrou ela para 4.0 porém a mesma está dando problema ? 

    Olavo Oliveira Neto
    http://olavooneto.wordpress.com
    Twitter @Olavooneto
    Facebook Olavo Neto
    Linkedin Olavo Neto
    Se for útil marque como resposta e faça um Developer feliz :)

    quinta-feira, 11 de outubro de 2012 12:12
    Moderador
  • Olavo boa tarde,

    Eu tenho uma aplicação que utiliza o framework 2.0 porem preciso instanciar uma classe que foi compilada no framework 4.0.

    Através do "CreateObject" é possível criar a instância, porem a instância de objetos "COM_OBJECT" não suporta "Generic", só trabalha com tipos primitivos(Integer, String..).

    Gostaria de saber se é possível criar a instância de uma classe que foi compilada no framework 4.0 em uma aplicação que utiliza framework 2.0 de outra forma?

    quinta-feira, 11 de outubro de 2012 12:21
  • Amigo, o CreateObject é utlizando para instanciação de objetos COM+. ou classes .net que herdem ServicedComponent. 

    Se não for o caso, não irá funcionar, você poderá instanciar o mesmo através da referência dele ao projeto 

    importando ele a sua classe

    Imports System.Text
    Imports System.DirectoryServices
    Public Class _Default
        Inherits System.Web.UI.Page

    e instanciando ele com o AS NEW

    Dim obGpEntry As New DirectoryEntry(ob)


    Olavo Oliveira Neto
    http://olavooneto.wordpress.com
    Twitter @Olavooneto
    Facebook Olavo Neto
    Linkedin Olavo Neto
    Se for útil marque como resposta e faça um Developer feliz :)

    quinta-feira, 11 de outubro de 2012 12:49
    Moderador
  • Amigo, a minha resposta resolveu sua questão ? 

    Obrigado


    Olavo Oliveira Neto
    http://olavooneto.wordpress.com
    Twitter @Olavooneto
    Facebook Olavo Neto
    Linkedin Olavo Neto
    Se for útil marque como resposta e faça um Developer feliz :)

    terça-feira, 16 de outubro de 2012 12:32
    Moderador
  • Olavo,

    acho que não resolveu o problema dele...

    Pelo que entendi, ele tem uma aplicação funcionando com o .Net 2 e ele quer instanciar uma classe feita no 4.0 SEM mudar o framework da aplicação.

    JRCGYN, acredito que não seja possível isso, já que a dll compilada no .net4 necessita do framework 4.0.

    Você não pode migrar sua aplicação para o framework 4?


    A resposta foi útil? Marque-a para que outros possam utiliza-la também!

    sexta-feira, 19 de outubro de 2012 14:58