No se pudo encontrar una parte de la ruta bin bin oslyncsc.exe


Estoy tratando de correr Asp.net Proyecto MVC recuperado del control de código fuente de TFS. He agregado todas las referencias de ensamblado y soy capaz de compilar y compilar con éxito sin ningún error o advertencia.

Pero obtengo el siguiente error en el navegador:

No se pudo encontrar una parte del camino 'C:\B8akWorkspace\B8akProject\B8akSolution\B8AK.Portal \ bin \ roslyn \ csc.exe'.

Aquí hay una captura de pantalla completa de la página de error.

introduzca la descripción de la imagen aquí

Después pocos días de investigación, entendí que Roslyn es una plataforma compiladora.Net que ofrece funciones de compilación avanzadas. Sin embargo, no entiendo por qué mi compilación está tratando de encontrar \bin\roslyn\csc.exe porque no configuré nada relacionado con Roslyn ni pretendo usar Roslyn en mi proyecto.

Author: Cœur, 2015-09-25

30 answers

El problema con las plantillas VS2015 predeterminadas es que el compilador no se copia realmente al directorio tfr \ bin \ roslyn\, sino al directorio {outdir}\roslyn\

Añadir este código en su .archivo csproj:

<Target Name="CopyRoslynFiles" AfterTargets="AfterBuild" Condition="!$(Disable_CopyWebApplication) And '$(OutDir)' != '$(OutputPath)'">
    <ItemGroup>
      <RoslynFiles Include="$(CscToolPath)\*" />
    </ItemGroup>
    <MakeDir Directories="$(WebProjectOutputDir)\bin\roslyn" />
    <Copy SourceFiles="@(RoslynFiles)" DestinationFolder="$(WebProjectOutputDir)\bin\roslyn" SkipUnchangedFiles="true" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" />
</Target>
 135
Author: Mitchell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-07 10:35:13

En mi caso la solución fue reinstalar / actualizar paquetes Nuget:

  • Microsoft. Net. Compilers 1.1.1
  • Microsoft.CodeDom.Proveedor.DotNetCompilerPlatform 1.0.1

Luego investigué .csproj y se aseguró de que las rutas a los paquetes sean correctas (en mi caso ..\..\paquete\*.* ) dentro de tags <ImportProject> en la parte superior y en <Target> con el nombre "EnsureNuGetPackageBuildImports" en la parte inferior. Esto es en MVC 5 y. NET Framework 4.5.2.

Respuesta Corta - ejecutar esto en la Consola del Gestor de Paquetes:

PM > update-package Microsoft.CodeDom.Providers.DotNetCompilerPlatform -r

 236
Author: andy250,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-19 06:12:23

Su compilación está tratando de encontrar \bin\roslyn\csc.exe porque se han agregado los siguientes paquetes en su proyecto.Simplemente revise su archivo packages.config, puede tener ambos allí

Microsoft.CodeDom.Providers.DotNetCompilerPlatform
Microsoft.Net.Compilers

Qué es Roslyn y Quién los agregó(paquetes) en project : Si está utilizando. net Framework 4.5.2 para crear proyectos al usar VS2015, es posible que haya notado que las plantillas de proyecto usan Roslyn por defecto. En realidad Roslyn es uno de de código abierto compiladores para lenguajes. NET desde Microsoft.

¿Por qué debemos eliminar Roslyn : Si su proyecto tiene referencias de Roslyn y está interesado en implementar no hay servidor, obtendrá errores no deseados en el sitio web como muchos los proveedores de alojamiento aún no han actualizado sus servidores y, por lo tanto, lo hacen no es compatible Roslyn.To resolver este problema, tendrá que eliminar el Compilador de Roslyn a partir de la plantilla del proyecto.

Si no está interesado en usar Roslyn, siga los pasos a continuación para eliminar

1. Elimine los paquetes Nuget, utilice los siguientes comandos de la consola de paquetes Nuget

PM> Uninstall-package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
PM> Uninstall-package Microsoft.Net.Compilers

2. Después de hacer esto, tu web.el archivo de configuración debe actualizarse automáticamente. En caso de que no lo sea, busque el siguiente código en la web.archivo de configuración y si se encuentra, elimine este fragmento de código.

<system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"></compiler>
      <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+"></compiler>
    </compilers>
</system.codedom>
 124
Author: Malik Khalil,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-03 07:35:06

Aquí hay una forma más MSBuild de hacer esto.

<Target Name="CopyRoslynFiles" AfterTargets="AfterBuild" Condition="!$(Disable_CopyWebApplication) And '$(OutDir)' != '$(OutputPath)'">
    <ItemGroup>
      <RoslynFiles Include="$(CscToolPath)\*" />
    </ItemGroup>
    <MakeDir Directories="$(WebProjectOutputDir)\bin\roslyn" />
    <Copy SourceFiles="@(RoslynFiles)" DestinationFolder="$(WebProjectOutputDir)\bin\roslyn" SkipUnchangedFiles="true" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" />
</Target>

Pero noto que los archivos roslyn también están en mi directorio bin (no en una carpeta). La aplicación parece funcionar, sin embargo.

 51
Author: Rob Cannon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-08 00:33:33

Una limpieza y reconstrucción funcionó para mí!

Editar: los comentaristas dicen que el paso limpio no es necesario. Puedes reconstruirlo.

 24
Author: pipedreambomb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-04 14:12:31

Entonces, La respuesta de Rob Cannon esencialmente funcionó para mí, pero tuve que ajustar un puñado de opciones. Específicamente, tuve que eliminar la condición en el destino, así como cambiar el atributo Include, ya que $CscToolPath estaba vacío cuando el proyecto se estaba construyendo en nuestro servidor de compilación. Curiosamente, $CscToolPath NO estaba vacío cuando se ejecutaba localmente.

<Target Name="CopyRoslynFiles" AfterTargets="AfterBuild" >
  <ItemGroup>
    <RoslynFiles Include="$(SolutionDir)packages\Microsoft.Net.Compilers.1.1.1\tools\*" />
  </ItemGroup>
  <MakeDir Directories="$(WebProjectOutputDir)\bin\roslyn" />
  <Copy SourceFiles="@(RoslynFiles)" DestinationFolder="$(WebProjectOutputDir)\bin\roslyn" SkipUnchangedFiles="true" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" />
</Target>
 11
Author: jonnybot,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:02:48

Por un comentario de Daniel Neel arriba:

Versión 1.0.3 de Microsoft.CodeDom.Proveedor.DotNetCompilerPlatform El paquete Nuget funciona para mí, pero la versión 1.0.6 causa el error en esta pregunta

La degradación a 1.0.3 resolvió este problema para mí.

 8
Author: Jason Coyne,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-09 15:43:07

Este es un problema conocido con Microsoft.CodeDom.Proveedor.DotNetCompilerPlatform 1.0.6. La degradación a 1.0.5 arregló esto para mí.

 8
Author: jrummell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-16 15:36:33

En mi caso solo necesitaba ir al directorio bin en Visual Studio Solution Explorer (proyecto de aplicación web) e incluir el proyecto roslyn directamente. Haciendo clic derecho en la carpeta y seleccionando Incluir en el proyecto. Y comprobar en la solución de nuevo para activar el proceso de compilación.

La carpeta roslyn no estaba incluida por defecto.

 7
Author: Martijn van Halen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-11-06 18:10:01

Abra el archivo de proyecto y elimine todas las referencias con Import Project="..\ packages \ Microsoft.CodeDom.Proveedor.Plataforma Dotnetcompiler.1.0.0....

Abrir web.config y eliminar todo el sistema.atributos de los compiladores de codedom

 6
Author: user6326076,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-05-12 14:21:29

Actualizar los paquetes de nuget me funcionó Haga clic derecho en la solución > Administrar paquetes NuGet para la solución y actualizar todos los paquetes y especialmente: Microsoft.Net.Compilers y Microsoft.CodeDom.Proveedor.DotNetCompilerPlatform

 6
Author: hichamkazan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-29 22:52:50

En mi caso he tenido problemas en Jenkins cuando intentó desplegarlo en Octopus con el siguiente error:

MSBUILD : OctoPack error OCT-1676060969: Failed to build the path for '\bin\roslyn\csc.exe' relative to 'T:\workspace\machine.engine\Machine.engine.Test': Invalid URI: The format of the URI could not be determined.. See the inner exception for more details. [T:\workspace\machine.engine\Machine.engine.Test\Machine.engine.Test.csproj]
MSBUILD : OctoPack error OCT-1676060969: System.Exception: Failed to build the path for '\bin\roslyn\csc.exe' relative to 'T:\workspace\machine.engine\Machine.engine.Test': Invalid URI: The format of the URI could not be determined.. See the inner exception for more details. ---> System.UriFormatException: Invalid URI: The format of the URI could not be determined. [T:\workspace\machine.engine\Machine.engine.Test\Machine.engine.Test.csproj]
MSBUILD : OctoPack error OCT-1676060969:    at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind) [T:\workspace\machine.engine\Machine.engine.Test\Machine.engine.Test.csproj]
MSBUILD : OctoPack error OCT-1676060969:    at System.Uri..ctor(String uriString) [T:\workspace\machine.engine\Machine.engine.Test\Machine.engine.Test.csproj]
MSBUILD : OctoPack error OCT-1676060969:    at OctoPack.Tasks.Util.OctopusPhysicalFileSystem.GetPathRelativeTo(String fullPath, String relativeTo) in Z:\buildAgent\workDir\20ba9f2e0d5e4022\source\OctoPack.Tasks\Util\OctopusPhysicalFileSystem.cs:line 211 [T:\workspace\machine.engine\Machine.engine.Test\Machine.engine.Test.csproj]
MSBUILD : OctoPack error OCT-1676060969:    --- End of inner exception stack trace --- [T:\workspace\machine.engine\Machine.engine.Test\Machine.engine.Test.csproj]
MSBUILD : OctoPack error OCT-1676060969:    at OctoPack.Tasks.Util.OctopusPhysicalFileSystem.GetPathRelativeTo(String fullPath, String relativeTo) in Z:\buildAgent\workDir\20ba9f2e0d5e4022\source\OctoPack.Tasks\Util\OctopusPhysicalFileSystem.cs:line 224 [T:\workspace\machine.engine\Machine.engine.Test\Machine.engine.Test.csproj]
MSBUILD : OctoPack error OCT-1676060969:    at OctoPack.Tasks.CreateOctoPackPackage.AddFiles(XContainer nuSpec, IEnumerable`1 sourceFiles, String sourceBaseDirectory, String targetDirectory, String relativeTo) in Z:\buildAgent\workDir\20ba9f2e0d5e4022\source\OctoPack.Tasks\CreateOctoPackPackage.cs:line 443 [T:\workspace\machine.engine\Machine.engine.Test\Machine.engine.Test.csproj]
MSBUILD : OctoPack error OCT-1676060969:    at OctoPack.Tasks.CreateOctoPackPackage.Execute() in Z:\buildAgent\workDir\20ba9f2e0d5e4022\source\OctoPack.Tasks\CreateOctoPackPackage.cs:line 190 [T:\workspace\machine.engine\Machine.engine.Test\Machine.engine.Test.csproj]
Done Building Project "T:\workspace\machine.engine\Machine.engine.Test\Machine.engine.Test.csproj" (default targets) -- FAILED

Causa

Después de pasar algún tiempo, estaba usando un componente interno desarrollado que estaba usando Microsoft.Net.Compilers. La razón por la que el componente interno estaba usando Microsoft.Net.Compilers fue para superar este problema ( C#: throw invalid expression compilation) y se resolvió de esta manera ( ¿Cómo usar c#7 con Visual Studio 2015?). Este resultado en, cuando instalé el competente en el programa principal, el Microsoft.Net.Compilers se añade automáticamente.

Solución

Mi trabajo alrededor fue, desinstalar siguiendo de nuestro componente interno por (siguiendo @malikKhalil respuesta)

PM> Uninstall-package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
PM> Uninstall-package Microsoft.Net.Compilers

Y eligió el compilador de C# 7 en Jenkins en lugar de C# 6 y reconstruir, esto es para asegurarse de que todo funciona y se construye correctamente.

Que finalmente en mi programa principal traté de actualizar mi componente interno. Y todo lo que construir de nuevo. Ha construido sin ningún problema o problema.

 6
Author: maytham-ɯɐɥʇʎɐɯ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-20 18:24:09

Si estaba agregando ASPNETCOMPILER para compilar sus vistas de Razor en MVC, como en esta pregunta de StackOverflow , entonces cambie PhysicalPath al lugar donde se encuentra el paquete Roslyn nuget (generalmente apuntado a través de variable CscToolPath variable):

<Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(CscToolPath)" />

 5
Author: Anrijs Vītoliņš,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 11:55:11

El problema con las plantillas VS2015 predeterminadas es que el compilador no se copia realmente al directorio {outdir}_PublishedWebsites\tfr\bin\roslyn\, sino al directorio {outdir}\roslyn\. Esto es probablemente diferente de su entorno local, ya que AppHarbor crea aplicaciones utilizando un directorio de salida en lugar de crear la solución "in-place".

Para arreglarlo, agregue lo siguiente hacia el final del archivo .csproj justo después del bloque xml <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">...</Target>

<PropertyGroup>
  <PostBuildEvent>
    if not exist "$(WebProjectOutputDir)\bin\Roslyn" md "$(WebProjectOutputDir)\bin\Roslyn"
    start /MIN xcopy /s /y /R "$(OutDir)roslyn\*.*" "$(WebProjectOutputDir)\bin\Roslyn"
  </PostBuildEvent>
</PropertyGroup>

Referencia: https://support.appharbor.com/discussions/problems/78633-cant-build-aspnet-mvc-project-generated-from-vstudio-2015-enterprise

 5
Author: Korayem,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-23 13:35:56

Actualización de Microsoft.CodeDom.Proveedor.DotNetCompilerPlatform de 1.0.0 a 1.0.1 solucionado esto para mí.

 5
Author: Ben,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-08-13 21:28:17

Introduzca aquí la descripción de la imagen

Necesita instalar Microsoft.CodeDom.Proveedor.Plataforma Dotnetcompiler.BinFix, fue creado especialmente para ese error

 5
Author: Adrian Berca,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-19 13:57:24

En mi caso, similar a Basim, había un paquete NuGet que le decía al compilador que necesitábamos C # 6, lo cual no hicimos.

Tuvimos que eliminar el paquete NuGet Microsoft.CodeDom.Providers.DotNetCompilerPlatform que luego eliminó:

  1. <package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.0" targetFramework="net452" /> de la paquete.archivo de configuración
  2. <system.codedom> <compilers> <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" /> <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" /> </compilers> </system.codedom>

En el nodo system.codedom, puedes ver por qué estaba trayendo a roslyn: compilerOptions="/langversion:6

 3
Author: Mark C.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-18 14:15:28

Añadir PropertyGroup a su .csproj file

<PropertyGroup>
  <PostBuildEvent>
    if not exist "$(WebProjectOutputDir)\bin\Roslyn" md "$(WebProjectOutputDir)\bin\Roslyn"      
    start /MIN xcopy /s /y /R "$(OutDir)roslyn\*.*" "$(WebProjectOutputDir)\bin\Roslyn"
  </PostBuildEvent>
</PropertyGroup>
 2
Author: Igor Semin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-05-13 09:08:41

Tuve el mismo problema al instalar mi aplicación en el servidor cuando todo funcionaba perfectamente en localhost.

Ninguna de estas soluciones funcionó, siempre tuve el mismo error:

Could not find a part of the path 'C:\inetpub\wwwroot\myApp\bin\roslyn\csc.exe'

Terminé haciendo esto:

  • en mi proyecto de configuración, clic derecho, ver > sistema de archivos
  • crear una carpeta bin/roslyn
  • seleccione agregar > archivos y agregue todos los archivos de packages\Microsoft.Net.Compilers.1.3.2\tools

Esto resolvió mi problema.

 2
Author: Alexandre Hamon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-02-13 15:45:15

También estaba teniendo el mismo problema mientras ejecutaba el proyecto. estos son los pasos que seguí.

  1. Haga clic derecho en la solución
  2. seleccione la solución limpia
  3. Después de que clean tenga éxito, vuelva a construir su proyecto
  4. Ejecute el proyecto de nuevo

    Esta vez no veo el mismo error . Esto funciona como se espera

 2
Author: Narendra,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-04 06:25:25

Después de probar todas las correcciones sin cigarro lo arreglé actualizando este paquete Nuget en Visual Studios:

Microsoft.CodeDom.Proveedor.DotNetCompilerPlatform

El mío era de 1.0.0 a 2.0.0 para referencia (El error ya no se muestra)

 2
Author: josh.thomson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-12 14:34:25

Elimine la carpeta Bin en el explorador de soluciones y vuelva a crear la solución. Eso resolvería el problema

 1
Author: user1903050,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-16 15:51:28

Me encontré con este problema después de actualizar algunos paquetes a través de NuGet. Una reconstrucción (en lugar de una construcción normal) ha funcionado para mí.

 1
Author: Helen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-14 09:45:14

Tuve el mismo problema después de actualizar DotNetCompilerPlatform. Resuelto reiniciando Visual Studio > Limpiar Proyecto > Construir Proyecto.

 1
Author: Uhha,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-23 17:26:45

Mi solución está utilizando Nuget para actualizar los siguientes elementos a la última versión: - Microsoft. Net. Compilers - Microsoft.CodeDom.Proveedor.Plataforma de compilación Dotnet Luego reconstruyó el proyecto. Ya que mi proyecto es un sitio web así que no*.archivo csproj. El error anterior aparece cuando intenté ver un cshtml en el navegador.

El error se solucionó después de que los dos elementos anteriores se actualizaran a la última versión. Estoy en VS2015 y windows7 SP1

 1
Author: Penny,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-28 10:09:04

Además de eliminar el directorio Bin de todos los proyectos dentro de la solución, también elimine las carpetas obj.

En la dirección principal de la solución, elimine la carpeta .vs

Funcionó para mí al intentar llevar un proyecto ya hecho a una solución en blanco creada en git.

 1
Author: Erik Silva,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-13 17:11:40

Tengo un proyecto web sin archivo csproj y las soluciones mencionadas aquí no funcionaron para mí.

Cambiar.NET framework de destino, reinstalar paquetes (Update-Package -reinstall) y luego construir el proyecto funcionó para mí. Incluso puede volver a cambiar el marco de destino después de esta operación(haga que vuelva a instalar paquetes nuget después).

 1
Author: Miroslav Adamec,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-15 12:20:00

Cuestión

Tenga en cuenta que el NuGet PM rompe el comportamiento de Rosalyn. Haga clic en Tools > NuGet Package Manager > Manage NuGet Packages for Solution Si existe una actualización para Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Microsoft.Net.Compilers, o Microsoft.Net.Compilers.netcore, actualizarlos y la solución se romperá! Esto ocurre porque las plantillas de sitios ASP están configuradas para usar versiones específicas en la creación del proyecto. Para ver el problema, haga clic en Mostrar todos los archivos en el Explorador de soluciones.

Fix

En la creación del proyecto, $(WebProjectOutputDir)\bin no existe, por lo tanto, cuando Rosalyn se agrega como una dependencia por NuGet lo instala correctamente. Después de actualizar los Paquetes de Solución, el directorio $(WebProjectOutputDir)\bin se ve así:

$(WebProjectOutputDir)\bin\bin\rosalyn

La solución más fácil es Cortar y pegar rosalyn a la ubicación adecuada, y luego eliminar la carpeta adicional bin. Ahora puede actualizar la página y el sitio se cargará.

 0
Author: eyoung100,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-28 20:01:04

Tuve que cambiar los archivos de proyecto WebAPI y MVC para no construir vistas:

<MvcBuildViews>false</MvcBuildViews>

Esto resolvió mi error de servidor de compilación de TFS 2015 con roslyn. Todavía no estoy seguro de por qué csc.exe se copió a \ bin \ csc.exe, sin embargo, el proceso de publicación estaba buscando \bin\Roslyn\csc.exe...no pude encontrar la transformación que causa esa discrepancia.

 0
Author: Robert J. Good,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-21 18:13:12

Experimenté este error en un servidor de compilación de Jenkins que ejecuta MSBuild, que genera los archivos de compilación en una ubicación de carpeta separada (_PublishedWebsites). Exactamente lo mismo-la carpeta roslyn no estaba en el directorio bin, y todos los archivos roslyn fueron agrupados con los archivos bin.

@igor-semin 's answer fue lo único que funcionó para mí (ya que estoy usando las características del lenguaje C# 6, no puedo simplemente desinstalar los paquetes nuget según otras respuestas), pero como también al ejecutar CodeAnalysis, estaba recibiendo otro error en mi servidor de destino de implementación:

Se detectó un intento de anular una asignación existente para el tipo Microsoft.CodeAnalysis.ICompilationUnitSyntax con el nombre"", actualmente asignado al tipo Microsoft.CodeAnalysis.CSharp.Sintaxis.CompilationUnitSyntax, para escribir Microsoft.CodeAnalysis.VisualBasic.Sintaxis.CompilationUnitSyntax.

La razón de esto es que a medida que los archivos de roslyn se están volcando en el directorio bin principal, cuando ejecuta el xcopy para recrearlos en la carpeta roslyn anidada, ahora tiene 2 copias de estos archivos compilados y hay un choque entre ellos. Después de mucha frustración me decidí por una solución 'hack' - una tarea adicional posterior a la compilación para eliminar estos archivos del directorio bin, eliminando el conflicto.

El.csproj de mis proyectos ofensivos ahora se ve como:

................... más aquí ......................

 <PropertyGroup>
   <PostBuildEvent>
   if not exist "$(WebProjectOutputDir)\bin\Roslyn" md "$(WebProjectOutputDir)\bin\Roslyn"
   start /MIN xcopy /s /y /R "$(OutDir)roslyn\*.*" "$(WebProjectOutputDir)\bin\Roslyn"
 </PostBuildEvent>
</PropertyGroup>
<Target Name="DeleteDuplicateAnalysisFiles" AfterTargets="AfterBuild">
   <!-- Jenkins now has copies of the following files in both the bin directory and the 'bin\rosyln' directory. Delete from bin. -->
   <ItemGroup>
     <FilesToDelete Include="$(WebProjectOutputDir)\bin\Microsoft.CodeAnalysis*.dll" />
   </ItemGroup>
   <Delete Files="@(FilesToDelete)" />
</Target>

................... más aquí ......................

 0
Author: Ciaran,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 11:55:11