none
Error en sentencia de visual c#2017- RRS feed

  • Pregunta

  • como crear un objeto sqlconnection? en visual studio 2017 ya que me genera error la siguiente sentencia?

         

    public string Insertar(Dcategoria Categoria)
            {
                string rpta = "";
                SqlConnection SqlCon = new SqlConnection()    Error: el nombre del tipo o del espacio de nombres         "SqlConnection  no se    encontro.falta una directiva using o una referencia de ensamblado

    try
                {

                }

    gracias a quien me pueda colaborar

    sábado, 25 de enero de 2020 5:35

Respuestas

  • hola

    Valida que a nivel de la class tienes la linea 

    using System.Data.SqlClient;

    para asi tener acceso a la clase SqlConnection

    Podrias ayudarte con la tool de refactor del Visual Studio para que la agregue

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    sábado, 25 de enero de 2020 5:38
  • hola

    >>hay dos opciones solamente para System.Data y en esas no esta SqlClient.

    Pero agregaste la referencia ? usando la opcion de "Add Reference" y buscas System.Data.SqlClient

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    domingo, 26 de enero de 2020 2:51
  • Hola balboa20133:

    Viendo las lineas en rojo que tienes, no parece solo un error en SqlConnection

    El problema es otro, más bien que en tú código sobran o faltan llaves.

    Fíjate que también te marca un error en string rtpa = "";

    Además el using SqlConnection(); tampoco esta bien.

    Si observas la imagén del código que te ha pegado Leandro, sólo le marca en rojo el uso de la clase SqlConnection.

    Y te ha pegado un uso correcto de la sentencia using.

    using (SqlConnection con = new SqlConnection(connectionString))
    {
     // ToDo .....
    }
    Si aún mantienes el problema, pega el código completo de la clase.

    domingo, 26 de enero de 2020 7:37
  • Ya lo adicioné ............................pero no me coloca ningun using ,siguen los mismos using de antes.
    domingo, 26 de enero de 2020 5:13
  • using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Data;
    using System.ComponentModel;
    using System.Drawing;
    using System.Linq;
    using System.Threading.Tasks;
    using System.Windows;
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.ComponentModel;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace CapaDatos
    {

        class Dcategoria

        {
            private int _Idcategoria;
            private string _Nombrecategoria;
            private string _Desc_categoria;

            private string _Textobuscar;

            public int Idcategoria { get => _Idcategoria; set => _Idcategoria = value; }
            public string Nombrecategoria { get => _Nombrecategoria; set => _Nombrecategoria = value; }
            public string Desc_categoria { get => _Desc_categoria; set => _Desc_categoria = value; }
            public string Textobuscar { get => _Textobuscar; set => _Textobuscar = value; }




            public Dcategoria(int idcategoria,string nombre_categoria, string desc_categoria,string textobuscar )
             {
                this.Idcategoria = idcategoria;
                this.Nombrecategoria = nombre_categoria;
                this.Desc_categoria = desc_categoria;
                this._Textobuscar = textobuscar;

             }
        public string Insertar(Dcategoria Categoria)

                {
                string rpta = "";
        SqlConnection SqlCon = new SqlConnection();
                try
                {

                }

                catch
                {

                }

                }
        }
    }

    Este pantallazo (la imagen) me la genera cuando agrego referencia:

                                                        De todos modos no se soluciona cuando oprimo habilitar.
    domingo, 26 de enero de 2020 21:50

Todas las respuestas

  • hola

    Valida que a nivel de la class tienes la linea 

    using System.Data.SqlClient;

    para asi tener acceso a la clase SqlConnection

    Podrias ayudarte con la tool de refactor del Visual Studio para que la agregue

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    sábado, 25 de enero de 2020 5:38
  • Si claro ya lo híce pero no la acepta es decir en la libreria no hay esta version
    System.Data.SqlClient ; hay dos opciones solamente para System.Data y en esas no esta SqlClient.
    domingo, 26 de enero de 2020 1:21
  • hola

    >>hay dos opciones solamente para System.Data y en esas no esta SqlClient.

    Pero agregaste la referencia ? usando la opcion de "Add Reference" y buscas System.Data.SqlClient

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    domingo, 26 de enero de 2020 2:51
  • Ya lo adicioné ............................pero no me coloca ningun using ,siguen los mismos using de antes.
    domingo, 26 de enero de 2020 5:13
  • Hola balboa20133:

    Viendo las lineas en rojo que tienes, no parece solo un error en SqlConnection

    El problema es otro, más bien que en tú código sobran o faltan llaves.

    Fíjate que también te marca un error en string rtpa = "";

    Además el using SqlConnection(); tampoco esta bien.

    Si observas la imagén del código que te ha pegado Leandro, sólo le marca en rojo el uso de la clase SqlConnection.

    Y te ha pegado un uso correcto de la sentencia using.

    using (SqlConnection con = new SqlConnection(connectionString))
    {
     // ToDo .....
    }
    Si aún mantienes el problema, pega el código completo de la clase.

    domingo, 26 de enero de 2020 7:37
  • using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Data;
    using System.ComponentModel;
    using System.Drawing;
    using System.Linq;
    using System.Threading.Tasks;
    using System.Windows;
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.ComponentModel;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace CapaDatos
    {

        class Dcategoria

        {
            private int _Idcategoria;
            private string _Nombrecategoria;
            private string _Desc_categoria;

            private string _Textobuscar;

            public int Idcategoria { get => _Idcategoria; set => _Idcategoria = value; }
            public string Nombrecategoria { get => _Nombrecategoria; set => _Nombrecategoria = value; }
            public string Desc_categoria { get => _Desc_categoria; set => _Desc_categoria = value; }
            public string Textobuscar { get => _Textobuscar; set => _Textobuscar = value; }




            public Dcategoria(int idcategoria,string nombre_categoria, string desc_categoria,string textobuscar )
             {
                this.Idcategoria = idcategoria;
                this.Nombrecategoria = nombre_categoria;
                this.Desc_categoria = desc_categoria;
                this._Textobuscar = textobuscar;

             }
        public string Insertar(Dcategoria Categoria)

                {
                string rpta = "";
        SqlConnection SqlCon = new SqlConnection();
                try
                {

                }

                catch
                {

                }

                }
        }
    }

    Este pantallazo (la imagen) me la genera cuando agrego referencia:

                                                        De todos modos no se soluciona cuando oprimo habilitar.
    domingo, 26 de enero de 2020 21:50
  • hola

    >>pero no me coloca ningun using ,siguen los mismos using de antes.

    pero aplicaste los cambios que se visualizan en esa pantalla ?

    porque alli yo si veo un using que no tenias antes

    -----

    Que es esto

    public int Idcategoria { get => _Idcategoria; set => _Idcategoria = value; }

    asi no se necesitas definir una propiedad, puede solo usar

    public int Idcategoria { get; set;}

    no necesitas las variables privadas

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    domingo, 26 de enero de 2020 22:05
  • Hola leandro:

    si claro, lo q pasa es q yo cogí un programa hecho al 100 porciento en visual #2013 y estoy 

    haciendo mi version en vs2017 comunity ,entonces practicamente hago las mismas instrucciones

    pero me ha presentado estos problemas y no tengo la version 2013 para poderla bajar toda vez q microsoft 

    ya no deja bajar la version 2013 de VS me explico y no kiero bajar el paquete de ningun otro lado de internet

    ya que no me gusta por el problema de q estos sitios generan muchos virus para los equipos.

    Bueno , lo q me dices : 

    pero aplicaste los cambios que se visualizan en esa pantalla ?

    Si.

    Que es esto

    public int Idcategoria { get => _Idcategoria; set => _Idcategoria = value; }

    lo q pasa es q esto lo genero el mismo compilador recuerda q estoy trabajando la version 2017,ante un rojo q me generó y el compilador me lo soluciono..

    ///////////////////////////////////////////

    Al cambiar las instrucciones q tu me dices y suprimir las variables privadas eso me genera errores en la linea :this.idcategoria =this.idcategoria = idcategoria; error q corregí por medio del intellisense del paquete anexando :

    public int idcategoria { get; private set; }

            

    class Dcategoria

        {
            /*private int _Idcategoria;
            private string _Nombrecategoria;
            private string _Desc_categoria;

            private string _Textobuscar;*/

            public int idcatgoria { get; set; }

            public int idcategoria { get; private set; }

            public string Nombrecategoria { get; set;}
            public string Desc_categoria { get; set; }
            public string Textobuscar { get; set; }
            /*public int Idcategoria { get => _Idcategoria; set => _Idcategoria = value; }
            public string Nombrecategoria { get => _Nombrecategoria; set => _Nombrecategoria = value; }
            public string Desc_categoria { get => _Desc_categoria; set => _Desc_categoria = value; }
            public string Textobuscar { get => _Textobuscar; set => _Textobuscar = value; }*/




            public Dcategoria(int idcategoria,string nombre_categoria, string desc_categoria,string textobuscar )
             {
                this.idcategoria = idcategoria;
                this.Nombrecategoria = nombre_categoria;
                this.Desc_categoria = desc_categoria;
                this._Textobuscar = textobuscar;

             }

    Bueno pero haciendo estos cambios y corrigiendo ahora me genera un error distinto q te expongo en la imagen insertada


    lunes, 27 de enero de 2020 0:11
  • hola

    >>ya no deja bajar la version 2013 de VS me explico

    No necesitas ninguna otra version, si tienes el codigo creado en una version anterior simplemente abrelo con la nueva y solo lo convertira

    por supuesto primero realiza un backup del codigo original por las dudas, puede ser simplemente un zip del codigo y luebto abre el .sln con la version VS2017

    >>no kiero bajar el paquete de ningun otro lado de internet

    Porque escribes con k ? no estamos en whatapp para tener qeu escribir mal, se trata de un foro de profesionales

    Ademas no necesitas descargar nada de ningun otro lado las librerias de System.Data.SqlClient son parte del propio framework

    >>ya que no me gusta por el problema de q estos sitios generan muchos virus para los equipos.

    que sitios ? nuget publica librerias que no tienen virus, ademas son librerias no aplicaciones

    todo net core que en algun momento vas a tener que usar por ser la tendencia que sigue se basa en librerias de repositorios, asi que aunque no quieras vas a tener que acostumbrarte al corto plazo, todos usamos librerias de terceros todos los dias

    >>haciendo estos cambios y corrigiendo ahora me genera un error distinto q te expongo en la imagen insertada

    en la imagen veo un codigo mal identado en donde no se que llave cierra con cual otra

    ademas un try sin contenido, sino vas a poner nada dentro quitalo

    El using lo usas de forma incorrecta, deberia ser

    using(SqlConnection SqlCon = new SqlConnection()){
    
    }


    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    lunes, 27 de enero de 2020 3:07
  • Cordial saludo,

    Loq pasa amigo es q la idea es aprender a programar porq el dia de mañana q se me presente estos errores de codigo entonces ya voy a saber resolverlos, me explico?

    escribo con k porq es mas rapido..........pero bueno eso es lo de menos

    ahora bajar el codigo de vs2013 y ejecutarlo no es la idea , la idea es aprender a programar para el dia de mañana..pa ra un futuro .recuerda q uno no sabe q trabajo se le pueda presentar  y debo estar listo, todo lo q se aprenda bienvenido sea, ademas estoy laborando de manera independiente para poder sacar mi version del programa, me explico?ademas copiar y ejecutar un archivo ,sln ajeno es riesgoso para los equipos por aquelllo de los virus,ya q son ejecutables.

    pues hombre q le digo........sigo con el mismo problema de compilacion con el ultimo de compilacion que le mostre

    gracias  de todos modos

    saludos

    colombia




    lunes, 27 de enero de 2020 21:24
  • Hola balboa20133:

    Prueba esto:

    using System;
    using System.Data.SqlClient;
    
    namespace CapaDatos
    {
        class Dcategoria
        {
            private int _Idcategoria;
            private string _Nombrecategoria;
            private string _Desc_categoria;
    
            private string _Textobuscar;
    
            public int Idcategoria { get; set; }
            public string Nombrecategoria { get; set; }
            public string Desc_categoria { get; set; }
            public string Textobuscar { get; set; }
    
            public Dcategoria(int idcategoria, string nombre_categoria, string desc_categoria, string textobuscar)
             {
                Idcategoria = idcategoria;
                Nombrecategoria = nombre_categoria;
                Desc_categoria = desc_categoria;
                Textobuscar = textobuscar;
            }
    
            public string Insertar(Dcategoria Categoria)
            {
                string rpta = "";
                string result = String.Empty;
                try
                {
                    string miCadenaConexion = "aquí tu cadena de conexión";
                    using (SqlConnection con = new SqlConnection(miCadenaConexion))
                    {
                        // ToDo
                    }
                }
                catch
                {
                    // Tratar la excepción
                    result = String.Empty;
                }
                return result;
            }
        }
    }
    Eso te genera algún error?

    lunes, 27 de enero de 2020 21:42
  • Javi empezando porque no admite el segundo using que es :

    using System.Data.SqlClient;

    solo tiene dos opciones para System.Data que es Common y SqlTypes entonces si yo copio y pego tus instrucciones va a generar error

    lunes, 27 de enero de 2020 23:44
  • Pruébalo. Y pega el texto explícito del error.
    martes, 28 de enero de 2020 4:33
  • >>empezando porque no admite el segundo using que es

    Pero agregaste la referencia a la libreria?

    Declarar variable using System.Data.SqlClient

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 28 de enero de 2020 4:59
  • Me  genera el mismo error Javi aqui esta copiado y pegado lo q me enviaste con sus respectivos errores :disculpame pero creo q estas perdido para solucionar este error.Puedes abrir la imagen en una pestaña nueva por favor.

    private int _Idcategoria;
            private string _Nombrecategoria;
            private string _Desc_categoria;

            private string _Textobuscar;

            public int Idcategoria { get; set; }
            public string Nombrecategoria { get; set; }
            public string Desc_categoria { get; set; }
            public string Textobuscar { get; set; }

            public Dcategoria(int idcategoria, string nombre_categoria, string desc_categoria, string textobuscar)
            {
                Idcategoria = idcategoria;
                Nombrecategoria = nombre_categoria;
                Desc_categoria = desc_categoria;
                Textobuscar = textobuscar;
            }

            public string Insertar(Dcategoria Categoria)
            {
                string rpta = "";
                string result = String.Empty;
                try
                {
                    string cc = "data source = diegopc; initial catalog = sistventas; " +
                            "integrated security=true"; 
                    using (SqlConnection con = new SqlConnection("data source = diegopc; initial catalog = sistventas; " +
                            "integrated security=true"; ))
                    {
                        // ToDo
                    }
                }
                catch
                {
                    // Tratar la excepción
                    result = String.Empty;
                }
                return result;
            }





    martes, 28 de enero de 2020 5:08
  • La sentencia de using sql connection es y sigue siendo incorrecta.

    Has puesto dos lineas en un string.

    Y has terminado en punto y coma dentro de los paréntesis. ¿Para qué?

    Si ya has creado string cc=".....";

    Porqué no pones:

    using (SqlConnection con = new SqlConnection(cc))

    {

    }

    martes, 28 de enero de 2020 5:19
  • corregidos y se genero el mismo error

    martes, 28 de enero de 2020 17:58
  • No veo la correspondiente libreria en la biblioteca de visual studio .........cual debo anexar ?
    martes, 28 de enero de 2020 18:07
  • Hola balboa20133:

    Visual Studio Community 2017.

    La referencia System.Data.SqlClient pertenece a System.Data

    Según la doc oficial puede pertenecer a los siguientes ensamblados.

    Ensamblados:
    System.Data.SqlClient.dll, System.Data.dll, netstandard.dll

    SqlClient

    https://docs.microsoft.com/es-es/dotnet/api/system.data.sqlclient.sqlconnection?view=netframework-4.8

    martes, 28 de enero de 2020 20:53

  • sigue el mismo error


    • Editado balboa20133 miércoles, 29 de enero de 2020 0:11
    miércoles, 29 de enero de 2020 0:06
  • guys: Se debe quitar el using asi soluciono el problema .en esta version de visual studio opeera esta instruccion sin using asi:claro esta que anexe varias referencias al proyecto como webservices, system.system,otras relacionadas con visual etc etc

    try { string cc = "data source = diegopc; initial catalog = sistventas;integrated security=true"; SqlConnection con = new SqlConnection(cc); { // ToDo } } catch { // Tratar la excepción result = String.Empty; }

    • Editado balboa20133 miércoles, 29 de enero de 2020 3:03
    miércoles, 29 de enero de 2020 2:51
  • Javi y tutini disculpen:

    No todas las versiones de visual studio C# utilizan el tipo de dato o directiva using es asi q omitindo using en la 

    instruccion se resuelve el problema.

    pero porque? porque resulta que se utiliza using con tipos de datos descartables pero en este caso (sqlconnection

    con) no es descartable, no puede hacerse descartable desde ningun sitio, como tambien sucede lo mismo para tipos de dato valor.

    Hay dos clases de tipos en C#: tipos de valor y tipos de referencia. Las variables de tipos de valor contienen directamente los datos, mientras que las variables de los tipos de referencia almacenan referencias a los datos, lo que se conoce como objetos. Con los tipos de referencia, es posible que dos variables hagan referencia al mismo objeto y que, por tanto, las operaciones en una variable afecten al objeto al que hace referencia la otra variable. Con los tipos de valor, cada variable tiene su propia copia de los datos y no es posible que las operaciones en una variable afecten a la otra (excepto en el caso de las variables de parámetro ref y out).

    Los tipos de valor de C# se dividen en tipos simplestipos de enumeracióntipos de estructura y tipos de valores NULL. Los tipos de referencia de C# se dividen en tipos de clasetipos de interfaztipos de matriz y tipos delegados.

    miércoles, 29 de enero de 2020 21:25
  • Hola balboa20133:

    Si tú mismo has dicho que se te ha resuelto el problema mágicamente, perfecto. Todos nos alegramos un montón.

    Pero no te parece, que pegar un texto, sin darle todo la inteligencia o conocimiento que requiere, y citar a un "PROFESIONAL MVP" como Leando Tuttini que lleva más de 100.000 respuestas en estos foros, amén de participar en otros ayudando a la comunidad, es cuanto menos, un poco alegre por tú parte.

    Recalco que me alegro de que hayas resuelto tú problema.

    MVP

    https://mvp.microsoft.com/es-es/

    miércoles, 29 de enero de 2020 21:59
  • Javi por lo q me comentas:

    Ante todo lesdoy las gracias por sus ayudas.


    Que pasa con q tutinni lleve 945000 puntos que pasa con eso.........que pasa con q sea MVP o usted sea

    MVP....ESO ni quita ni pone ante todo hay q ser humildes ademas los mvps estan para ayudar a los

    demas requisito de Microsoft para otorgar el titulo anualmente

    Entienda por favor las cosas q se escriben lo escribí a manera de crecer todos , SIN animo de ofender a nadie,no malentienda las frases q se escriben  si ud se ofendio problema suyo.

    A LO QUE ME ESCRIBE=====>Pero no te parece, que pegar un texto, sin darle todo la inteligencia o conocimiento que requiere,

    Respuesta: RESPETE COMPAÑERO JAVI , QUE YO A USTED LO HE RESPETADO NO SEA ATREVIDO,NO SEA GAMIN.

    Pues por la misma razon q es inteligente pegar un texto relacionado con el tema fue q lo híce y lo pegué,Ademas la inteligencia al texto se la tiene q dar es usted no yo, si no le vio la relacion no es mi culpa, porq sí la tiene.

    Mas bien no sera q a usted le molesto q una persona humilde como yo q no llevo ni 100 puntos haya resuelto el problema?

    Aqui somos todos iguales , una cosa es q microsoft les haya dado este titulo ,  me imagino que tanto profesional

    es usted como lo soy yo .

    Ahora no se porque usted viene a hablar por tutinni no venga aqui a hablar por los demas hable por usted.

    El hecho q usted nos ayude o de q sea MVP o sea jefe en su trabajo o trabajador en tecnologias no implica q tenga yo q humillarme ante usted porque no lo voy a hacer.

    RESPETE










    • Editado balboa20133 miércoles, 29 de enero de 2020 23:52
    miércoles, 29 de enero de 2020 23:16
  • hola

    No se si has resuelto el problema o no, pero hay algunos conceptos equivocados

    >>resulta que se utiliza using con tipos de datos descartables pero en este caso (sqlconnection  con) no es descartable

    SqlConnection si es diposable ya que implementa la interface IDisposable

    SqlConnection Class

    solo analiza la documentacion de la clase, usar

    using (SqlConnection con = new SqlConnection(cc)){

    }

    es completamente valido, lo he aplicado miles de veces sin problema, la verdad no se porque en tu caso genera ese mensaje

    Es mas si estudias la documentacion de como hacer pooling de una conexion en ado.net lo primero que aplicas es el using

    Agrupación de conexiones de SQL Server (ADO.NET)

    por eso se recomienda definir el connection dentro del using, porque es performante ya que ado.net esta optimizado para crear pool de conexiones

    >>como tambien sucede lo mismo para tipos de dato valor.

    Esta parte de tipos de datos valor o referencia no veo relacion con lo que estamos hablando

    la class SqlConnection se instancia con el new por lo tanto es un objeto, siempre va a trabajarse por referencia

    los tipos por valor solo aplican a int, string, long, short, etc, esto que mencionas no aplica para esto que estamos analizando

    >>No veo la correspondiente libreria en la biblioteca de visual studio .........cual debo anexar ?

    No vas a verla si estas en la solapa de COM, debes ir a la de Ensamblados

    >>corregidos y se genero el mismo error

    Intentaste realizar un Rebuild ? a veces sucede que el VS no toma los cambios por eso hay que forzarlo

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 30 de enero de 2020 4:08
  • >SqlConnection si es diposable ya que implementa la interface IDisposable

    A donde SqlConnection fuera descartable que es lo mismo q disposable en ingles hubiera podido yo implementar su correspondiente clase como:

    class Sqlconnection: IDisposable ...etc... etc... etc.

    estoy escribiendo en base a las siguientes versiones:

    A lo q visual studio 2017 Comunity y Fwk 4.6.1 contesto no es permitido , ........puedes hacer la prueba en estas versiones no estoy diciendo mentiras.

    Sin animo de ofender Puedes leer el siguiente articulo de microsoft:

    https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/cs1674

    Como puedes ver en el primer ejemplo se trata con un tipo valor que no es desechable y presenta el error q estamos tratando como es el cs1674, en el segundo ejemplo estamos tratando un tipo valor referencia que es 

    using (C c = new C()) {} que tampoco es un tipo descartable por ser tipo de valor

    referencia , he ahi el porque yo pegue el texto que me dice usted que no hay relacion.

    En el segundo ejemplo se trata de dar una solucion al error creando una clase asi:

    class D : IDisposable { 

       void IDisposable.Dispose() {} 

       public void Dispose() {} 

     

       public static void Main() { 

          using (D d = new D()) {} 

       } 

    } 

    lo q yo trate de hacer en mi programa y no lo admitió , me explico? con mis variables claro esta.

    Yo le creo a usted q el using lo ha implementado 1000 veces y no ha habido problema.

    Pero se ha preguntado usted si ya lo hizo en la version 2017 comunity de visual studio

    con framework 4.6.1? es q visual c# no es solamente 2013 para atras.

    Entonces una cosa es los documentos por internet y otra la vida real,como en este caso es

    tomar en cuenta las versiones q son muy diferentes en cuanto a compilador, me explico?.

    Por lo tanto en mi version: sqlconnection no permite tampoco la interface IDisposible.

     

    >es completamente valido, lo he aplicado miles de veces sin problema, la verdad no se porque en tu caso genera ese mensaje

    surge la pregunta en que versiones lo ha implementado usted tanto visual studio como framework?

    Me interesa saber la version de visual studio que esta aplicando.

    >Esta parte de tipos de datos valor o referencia no veo relacion con lo que estamos hablando

    Sí hay relacion porque precisamente en el link(https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/cs1674) q te pase lo menciona y traducido es:

    La declaración de uso está destinada a usarse para garantizar la eliminación de un objeto al final del bloque de uso, por lo tanto, solo los tipos que son desechables pueden usarse en dicha declaración. Por ejemplo, los tipos de valor no son desechables no se puede suponer que los parámetros de tipo que no están limitados a ser clases sean desechables.

    >No vas a verla si estas en la solapa de COM, debes ir a la de Ensamblados

    La de ensamblados esta vacia,solo esta llena COM.


    viernes, 31 de enero de 2020 0:33
  • hola


     >>Sin animo de ofender Puedes leer el siguiente articulo de microsoft

    pero no tiene nada que ver, alli explica un error del uso de disponse y el using pero no menciona el SqlConnection

    Se podria dar este caso si esa funcionalidad la defines dentro de un metodo static, pero por el codigo que nos mostraste no es ese el caso

    >>es q visual c# no es solamente 2013 para atras.Entonces una cosa es los documentos por internet y otra la vida real

    lo estoy usando con VS2019 y .net core de que documento y vida real hablas?

    create un proyecto de consola en otra version del framework y usa este codigo

    using System;
    using System.Data.SqlClient;
    
    namespace ConsoleAppTest
    {
        class Program
        {
            static void Main(string[] args)
            {
                string conn = "connection string";
                using (SqlConnection con = new SqlConnection(conn))
                {
                    con.Open();
    
                }
    
                Console.WriteLine("conexion ok");
            }
        }
    }

    si eso no te compila me rindo

    >>surge la pregunta en que versiones lo ha implementado usted tanto visual studio como framework?

    en muchas: 3.5, 4.0, 4.5, 4.7, net core

    >>Me interesa saber la version de visual studio que esta aplicando.

    trabaje con todas desde el VS 2005, actualmente uso VS2019 y tambien VS Code

    >>Por ejemplo, los tipos de valor no son desechables

    pero no estas usando ninguna tipo de valor, SqlConection es una clase que se instancia es un tipo de referencia

    no aplica lo que explicas

    >>La de ensamblados esta vacia,solo esta llena COM.

    eso si que no deberia pasar, eso esta mal

    estas seguro que el VS se instalo correctamente? quizas ahi este todo el problema

    no puede estar vacio las lista de librerias de ensamblados, algo se corrompio en la instalacion del VS o la verdad no se que habra pasado pero eso esta mal

    lanza un repair del VS a ver si lo resuelve, valida que lo instales con permiso de administrador local

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 31 de enero de 2020 1:26