Error de compilación: debe agregar una referencia a System.Runtime
Estoy preparando una nueva solución ASP.NET MVC 5.1. Estoy agregando un montón de paquetes NuGet y configurándolos con Zurb Foundation, etc.
Como parte de eso, agregué una referencia a un paquete NuGet interno que es una biblioteca de clases portátil y creo que esto está causando un problema en el servidor de compilación.
TeamCity falla la compilación con:
El tipo 'System.Object' se define en un ensamblado al que no se hace referencia. Debe agregar una referencia al ensamblado 'System.Runtime, Version=4.0.0.0
Originalmente agregué la solución para el mismo error o uno similar al compilar las páginas web de Razor, y esa solución se encuentra en elweb.config
<compilation ... >
<assemblies>
<add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</assemblies>
</compilation>
Sin embargo, la cuestión sigue sin resolverse.
Para implementar la solución, primero expanda la sección de compilación web.config existente que tiene este aspecto de forma predeterminada:
<compilation debug="true" targetFramework="4.5"/>
Una vez ampliado, agregué el siguiente XML de configuración nuevo según me indicaron:
<assemblies>
<add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</assemblies>
Las etiquetas finales de web.config deberían verse así:
<compilation debug="true" targetFramework="4.5">
<assemblies>
<add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</assemblies>
</compilation>
Agregar una referencia a este ensamblado System.Runtime.dll solucionó el problema:
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\Facades\System.Runtime.dll
Aunque ese archivo en esa ruta explícita no existe en el servidor de compilación.
Volveré a publicar con más información una vez que haya encontrado documentación sobre PCL y estas fachadas.
Actualizar
Sí, prácticamente nada sobre ensamblajes de fachadas en Internet.
Google:
(Facades OR Facade) Portable Library site:microsoft.com