Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

2.6K
Visualizações
Debe agregar una referencia al ensamblado 'netstandard, Version=2.0.0.0

El proyecto es una aplicación web ASP.NET MVC dirigida a .NET Framework 4.6.1.

De repente (se actualizaron algunos paquetes de NuGet) comencé a recibir el siguiente error durante el tiempo de ejecución:

CS0012: el tipo 'System.Object' está definido en un ensamblado al que no se hace referencia. Debe agregar una referencia al ensamblado 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'.

En mi vista principal Index.cshtml , en una línea donde hago uso de @Html.ActionLink

Tengo .NET Core SDK 2.0 y .NET Framework 4.7.1 instalados en mi máquina, pero no quiero incluir una referencia a ellos. Esta es solo una aplicación web de .NET Framework, está alojada en Windows IIS donde el marco instalado es 4.6.1, no hay NET Core instalado en el servidor.

Entonces, ¿por qué pide agregar una referencia a netstandard ? ¿Cómo puedo solucionarlo sin hacer referencia netstandard sino al Windows .NET Framework 4.6.1 completo?

Revisé una confirmación anterior que funcionó bien y todavía recibo este error. Por lo tanto, no está relacionado con la actualización de los paquetes NuGet. Parece ser algo en mi máquina de desarrollo local.

Si publica la aplicación en un directorio y la ejecuta con IIS, funciona.

Enlace a .csproj esencia

paquetes.config

 <?xml version="1.0" encoding="utf-8"?> <packages> <package id="Antlr" version="3.5.0.2" targetFramework="net46" /> <package id="BundleTransformer.Core" version="1.9.69" targetFramework="net46" /> <package id="BundleTransformer.Handlebars" version="1.9.73" targetFramework="net46" /> <package id="BundleTransformer.Less" version="1.9.69" targetFramework="net46" /> <package id="BundleTransformer.Yui" version="1.9.52" targetFramework="net46" /> <package id="Dapper" version="1.42" targetFramework="net46" /> <package id="EcmaScript.Net" version="1.0.1.0" targetFramework="net46" /> <package id="EntityFramework" version="6.0.0" targetFramework="net46" /> <package id="Glimpse" version="1.8.6" targetFramework="net46" /> <package id="Glimpse.AspNet" version="1.9.2" targetFramework="net46" /> <package id="Glimpse.Mvc5" version="1.5.3" targetFramework="net46" /> <package id="JavaScriptEngineSwitcher.Core" version="1.2.4" targetFramework="net46" /> <package id="JavaScriptEngineSwitcher.V8" version="1.3.0" targetFramework="net46" /> <package id="jQuery" version="2.1.3" targetFramework="net46" /> <package id="jQuery.Validation" version="1.13.1" targetFramework="net46" /> <package id="LowercaseDashedRoute" version="1.0.14" targetFramework="net46" /> <package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net46" /> <package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net46" /> <package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net46" /> <package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net46" /> <package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net46" /> <package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net46" /> <package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net46" /> <package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net46" /> <package id="Microsoft.jQuery.Unobtrusive.Validation" version="3.2.3" targetFramework="net46" /> <package id="Microsoft.Owin" version="3.0.1" targetFramework="net46" /> <package id="Microsoft.Owin.Host.SystemWeb" version="3.0.1" targetFramework="net46" /> <package id="Microsoft.SqlServer.Compact" version="4.0.8876.1" targetFramework="net46" /> <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net46" /> <package id="Moment.js" version="2.10.2" targetFramework="net46" /> <package id="Newtonsoft.Json" version="10.0.3" targetFramework="net46" /> <package id="NWebsec" version="5.1.1" targetFramework="net46" /> <package id="NWebsec.Core" version="2.1.0" targetFramework="net46" /> <package id="NWebsec.Mvc" version="5.1.1" targetFramework="net46" /> <package id="Owin" version="1.0" targetFramework="net46" /> <package id="Respond" version="1.4.2" targetFramework="net46" /> <package id="Sendgrid" version="6.3.0" targetFramework="net46" /> <package id="SendGrid.SmtpApi" version="1.3.1" targetFramework="net46" /> <package id="Serilog" version="2.6.0" targetFramework="net46" /> <package id="Serilog.Enrichers.Environment" version="2.1.2" targetFramework="net46" /> <package id="Serilog.Sinks.File" version="3.2.0" targetFramework="net46" /> <package id="Serilog.Sinks.RollingFile" version="3.3.0" targetFramework="net46" /> <package id="Serilog.Sinks.Sentry" version="2.1.4" targetFramework="net46" /> <package id="SerilogWeb.Classic" version="2.1.17" targetFramework="net46" /> <package id="SharpRaven" version="2.2.0" targetFramework="net46" /> <package id="System.Data.SQLite" version="1.0.108.0" targetFramework="net46" /> <package id="System.Data.SQLite.Core" version="1.0.108.0" targetFramework="net46" /> <package id="System.Data.SQLite.EF6" version="1.0.108.0" targetFramework="net46" /> <package id="System.Data.SQLite.Linq" version="1.0.108.0" targetFramework="net46" /> <package id="Twitter.Bootstrap.Less" version="3.3.4" targetFramework="net46" /> <package id="WebActivatorEx" version="2.0.6" targetFramework="net46" /> <package id="WebGrease" version="1.6.0" targetFramework="net46" /> <package id="YUICompressor.NET" version="2.7.0.0" targetFramework="net46" /> </packages>

Al publicar la aplicación usando VS2017 en el sistema de archivos, aparece la siguiente advertencia en el resultado:

El siguiente ensamblado tiene dependencias en una versión de .NET Framework que es superior al destino y es posible que no se cargue correctamente durante el tiempo de ejecución y provoque un error: netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51. Las dependencias son: System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089. Debe asegurarse de que el ensamblaje dependiente sea correcto para el marco de destino o asegurarse de que el marco de destino al que se dirige sea el del ensamblaje dependiente.

Pero no puedo encontrar nada en System.Transactions . ¿Cómo puedo buscar lo que hace referencia?

over 4 years ago · Santiago Trujillo
21 Respostas
Responde à pergunta

0

Estaba enfrentando este problema al intentar agregar una dependencia de .NETStandard a una biblioteca .NET4.6.1 y compilarla en Linux con Mono 4.6.2 (la versión que viene con Ubuntu 16.04).

Finalmente lo resolví hoy; la solución requiere hacer ambas cosas:

  1. Cambie <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> a <TargetFrameworkVersion>v4.7.1</TargetFrameworkVersion> en el archivo .csproj.
  2. Actualice su mono a una versión más nueva. Creo que 5.x debería funcionar, pero para estar seguro, puede instalar Ubuntu 20.04 (que en el momento de escribir este artículo solo está en versión preliminar), que incluye Mono 6.8.0.105.
over 4 years ago · Santiago Trujillo Relatório

0

Puede agregar a su web.config en su proyecto.

No funcionaría cuando lo agregue a proyectos web.config porque funciona con MVC.

over 4 years ago · Santiago Trujillo Relatório

0

Aquellos que no tienen el archivo web.config. Tipo de salida que no sea aplicación web. actualice el archivo del proyecto (.csproj) con el siguiente código.

Puede deberse a que se agregó o eliminó .netframework de manera incorrecta o puede que se rompa de manera inesperada.

 <ItemGroup> <Reference Include="netstandard" /> </ItemGroup>

Tipo de salida

  • Aplicación de consola
  • Biblioteca de clases
over 4 years ago · Santiago Trujillo Relatório

0

Después de actualizar del marco 4.6.1 a 4.7.2, comenzamos a recibir este error:

"El tipo 'System.Object' está definido en un ensamblado al que no se hace referencia. Debe agregar una referencia al ensamblado 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'". y, en última instancia, la solución fue agregar la referencia de ensamblaje "netstandard" mencionada anteriormente:

 <compilation debug="true" targetFramework="4.7.1" > <assemblies> <add assembly="netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51"/> </assemblies> </compilation>
over 4 years ago · Santiago Trujillo Relatório

0

La solución de Quango está funcionando, pero prefiero resolverla agregando este código en mi Web.config como nuevos proyectos:

 <system.codedom> <compilers> <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701"/> <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+"/> </compilers> </system.codedom>
over 4 years ago · Santiago Trujillo Relatório

0

Aquí es donde existe netstandard.dll: C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.2\Facades\netstandard.dll Agregue referencia a su proyecto a través de esto.

over 4 years ago · Santiago Trujillo Relatório

0

En mi caso, actualicé mi VS 2019 a la última versión a partir del 21/05, pero sigo teniendo el mismo problema.

lo resolvi por

  1. mirando detenidamente el mensaje de error The type 'Object' is defined in an assembly that is not referenced. You must add a reference to assembly 'system.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
  2. Abra el archivo .csproj y debajo de la etiqueta <ItemGroup> agregue una nueva etiqueta <Reference> como se muestra a continuación
  • <Reference Include="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  1. Siga el aviso de VS para recargar un proyecto y volver a compilar y no vi el mismo problema.
over 4 years ago · Santiago Trujillo Relatório

0

Tengo el mismo problema con un proyecto net5.0 , que incluye una tarea de compilación escrita con netstandard2.0

 <Project> <Target Name="RestoreBuildTasks"> <MSBuild Projects="../../../BuildTasks/BuildTasks.csproj" Targets="Restore" Properties="Configuration=Release"/> </Target> <Target Name="BuildBuildTasks"> <MSBuild Projects="../../../BuildTasks/BuildTasks.csproj" Targets="Build" Properties="Configuration=Release"/> </Target> <UsingTask TaskName="Brick.Build.NugetTask" AssemblyFile="AGXBrick/BuildTasks/bin/$(Platform)/Release/netstandard2.0/BuildTasks.dll"/> <Target Name="CheckNuGetSources" BeforeTargets="Restore" DependsOnTargets="RestoreBuildTasks;BuildBuildTasks"> <NuGetTask /> </Target> </Project>

Donde BuildTasks.csproj se ve así

 <PropertyGroup> <TargetFramework>netstandard2.0</TargetFramework>

Pude resolver esto estableciendo explícitamente TargetFramework=netstandard2.0 en la tarea de MSBuild :

 <MSBuild Projects="../../../BuildTasks/BuildTasks.csproj" Targets="Restore" Properties="Configuration=Release;TargetFramework=netstandard2.0"/>
over 4 years ago · Santiago Trujillo Relatório

0

Tengo el mismo problema, mi proyecto usa .net framework 4.6.1, y cuando uso el último MSBuild (16.10.2) para crear una solución, aparece un mensaje de error, por ejemplo, ValueType... debe hacer referencia a netstandard 2.0... .

Lo descubrí instalando el elemento SDK de .Net, cuando selecciona este elemento, el tiempo de ejecución de .NET 5.0 y el tiempo de ejecución de .NET 3.1 también se instalarán.

ingrese la descripción de la imagen aquí

Después de instalar este elemento, puedo compilar mi proyecto con el último MSBuild y ¡sin errores!

over 4 years ago · Santiago Trujillo Relatório

0

Empezamos a recibir este error en el servidor de producción después de implementar la aplicación migrada de 4.6.1 a 4.7.2.

Nos dimos cuenta de que .NET framework 4.7.2 no estaba instalado allí. Para solucionar este problema hicimos los siguientes pasos:

  1. Instalado el .NET Framework 4.7.2 desde:

    https://support.microsoft.com/en-us/help/4054530/microsoft-net-framework-4-7-2-offline-installer-for-windows

  2. Reinicié la máquina

  3. Confirmó la versión de .NET Framework con la ayuda de ¿Cómo encuentro la versión de .NET?

Ejecutar la aplicación nuevamente con la versión .Net Framework 4.7.2 instalada en la máquina solucionó el problema.

over 4 years ago · Santiago Trujillo Relatório

0

Tuve que hacer una combinación de las respuestas de otras personas en este hilo.

  1. Instale NetStandard.Library a través de NuGet
  2. Editando manualmente el archivo .csproj y agregando la referencia. <Reference Include="netstandard" />
  3. Expandiendo proyecto -> Referencias en VS Solution Explorer, haciendo clic derecho en 'netstandard' y mostrando la página de propiedades y configurando "Copiar local" en verdadero.
over 4 years ago · Santiago Trujillo Relatório

0

ingrese la descripción de la imagen aquí

Establezca Copy Enbale en verdadero en las propiedades de netstandard.dll.

Abra el Explorador de soluciones y haga clic derecho en netstandard.dll. Establezca Copiar local en verdadero.

over 4 years ago · Santiago Trujillo Relatório

0

Estoy enfrentando el mismo problema que hago después de que la aplicación Configurar ahora funcione bien

1-

 <compilation debug="true" targetFramework="4.7.1"> <assemblies> <add assembly="netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51"/> </assemblies> </compilation>

2- Agregar referencia

 **C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\Extensions\Microsoft\ADL Tools\2.4.0000.0\ASALocalRun\netstandard.dll**

3-

Copy Above Path Dll to Application Bin Folder on web server

over 4 years ago · Santiago Trujillo Relatório

0

Experimenté esto al actualizar .NET Core 1.1 a 2.1.

Seguí las instrucciones descritas aquí .

Intente eliminar la <RuntimeFrameworkVersion>1.1.1</RuntimeFrameworkVersion> o <NetStandardImplicitPackageVersion> en .csproj.

over 4 years ago · Santiago Trujillo Relatório

0

Podría tener que ver con uno de estos:

  1. Instale un SDK más nuevo.
  2. En .csproj verifique la Referencia Incluir="netstandard"
  3. Verifique las versiones de ensamblado en las etiquetas de compilación en Views\Web.config y Web.config.
over 4 years ago · Santiago Trujillo Relatório

0

Me he encontrado con esto antes y probar varias cosas me lo ha solucionado:

  • Eliminar una carpeta bin si existe
  • Eliminar la carpeta oculta .vs
  • Asegúrese de que el paquete de orientación 4.6.1 esté instalado
  • Último esfuerzo: agregue una referencia a System.Runtime (haga clic con el botón derecho en el proyecto -> agregar -> referencia -> marque la casilla junto a System.Runtime), aunque creo que siempre me he dado cuenta de que uno de los anteriores lo ha resuelto. de hacer esto.

Además, si se trata de una aplicación .net core que se ejecuta en el marco completo, descubrí que debe incluir un archivo global.json en la raíz de su proyecto y apuntarlo al SDK que desea usar para ese proyecto:

 { "sdk": { "version": "1.0.0-preview2-003121" } }
over 4 years ago · Santiago Trujillo Relatório

0

Creo que la solución podría ser este problema en GitHub :

Intente agregar una referencia de netstandard en web.config de esta manera:"

 <system.web> <compilation debug="true" targetFramework="4.7.1" > <assemblies> <add assembly="netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51"/> </assemblies> </compilation> <httpRuntime targetFramework="4.7.1" />

Me doy cuenta de que está usando 4.6.1, pero la elección de .NET 4.7.1 es importante ya que las versiones anteriores de Framework no son totalmente compatibles con .NET Standard 2.0.

Sé esto por experiencia dolorosa, cuando introduje las bibliotecas .NET Standard, tuve muchos problemas con los paquetes NUGET y la ruptura de referencias. El otro cambio que debe tener en cuenta es la actualización a PackageReferences en lugar de los archivos package.config .

Consulte esta guía y es posible que también desee una herramienta que le ayude con la actualización . Sin embargo, requiere una versión posterior de VS 15.7.

over 4 years ago · Santiago Trujillo Relatório

0

Este problema se basa en su versión instalada de Visual Studio y Windows, puede seguir los siguientes pasos:-

  1. Ir a la ventana de comandos
  2. rebajó su PCL con el siguiente comando

     Install-Package Xamarin.Forms -Version 2.5.1.527436
  3. Reconstruya su proyecto.
  4. Ahora podrá ver la salida requerida
over 4 years ago · Santiago Trujillo Relatório

0

Aunque este es un hilo antiguo, tuve el mismo problema hoy, la semana pasada actualicé algunos paquetes de NuGet y aunque el sitio web de MVC funcionó bien en mi máquina de desarrollo cuando publiqué en el servidor de prueba, falló.

Leí numerosas publicaciones pero ninguna funcionó. Finalmente comparé las DLL en mi contenedor local con las del servidor de prueba y descubrí que netstandard.dll no se cargó, una vez que se cargó, el sitio web funcionó bien, no estoy seguro de por qué la implementación web de VS2017 no publicó la DLL.

Solo algo a tener en cuenta en caso de que nada de lo anterior funcione para usted.

over 4 years ago · Santiago Trujillo Relatório

0

Eliminar las carpetas Bin y Obj funcionó para mí.

over 4 years ago · Santiago Trujillo Relatório

0

La edición manual del archivo .csproj y la adición de la referencia a continuación funcionó para mí.

 <Reference Include="netstandard" />

Gracias a Fahad Alshaya que lo sugirió aquí .

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda