puede not found error encontrar c# roslyn csc

c# - not - roslyn csc exe path



Reemplazo del compilador c#con la nueva compilaciĆ³n de Roslyn (1)

Estoy jugando con algunos cambios en Roslyn, pero desafortunadamente, incluso la solución no modificada se bloqueaba cuando ejecutaba VisualStudioSetup.Next , con un error al intentar cargar un ensamblaje de MS. Así que hice algunos cambios simples y reemplacé los archivos binarios y de configuración de mi máquina con la nueva versión. Los cambios se realizaron en C:/Program Files (x86)/MSBuild/bin and Windows/Microsoft.NET/Framework64 .

Al reemplazar CSC, VBCSCompiler, los archivos DLL y de configuración, csc.exe genera un error en cualquier compilación. Se queja de que el manifiesto especifica una versión diferente de la DLL CodeAnalysis.CSharp . No da una ruta para el archivo o incluso el nombre. He reemplazado tanto las configuraciones como las DLL que se encuentran en las carpetas mencionadas anteriormente con las nuevas compilaciones. ¿Qué archivos necesito reemplazar para que funcione correctamente?

Hice una búsqueda en todo el disco para todas las instancias de CSC y me aseguré de que todas las configuraciones especifiquen la nueva versión de la DLL, así que no estoy seguro de dónde buscar ahora.

Sé que es posible pasar un parámetro a MSBuild o agregar una sección al archivo csproj para especificar un directorio para los binarios del compilador, pero me gustaría obtener una victoria sobre esto.

EDITAR: Así que decidí cambiar el número de versión de mis versiones. Hacerlo a través de las propiedades del ensamblaje en VS hace que la compilación falle. Intenté usar MSBuild, pero falla en todos los proyectos con este error:

"F:/Git/Repos/roslyn/src/Compilers/CSharp/csc/csc.csproj" (default target) (1) -> F:/Git/Repos/roslyn/build/Targets/Versions.props(42,5): error MSB4184: The expression ""1".Substring(3)" cannot be evaluated. startIndex cannot be larger than length of string. Parameter name: startIndex F:/Git/Repos/roslyn/src/Compilers/CSharp/csc/csc.csproj]

Se construye bien de VS aunque.

MSBuild params: /p:OfficialBuild=true /p:BuildNumber=1.3.1.60616 /p:Configuration=Release


Para reemplazar el compilador en la instancia experimental de Visual Studio 2017 actualmente min. La versión requerida es v15.3 o posterior. Y es necesario instalar Roslyn.Compilers.Extension.vsix y no VisualStudioSetup.Next .

La información exacta de la documentación de DotNet Roslyn github repo es la siguiente:

CompilerExtension : este proyecto se puede encontrar dentro de la carpeta Compiladores del Explorador de soluciones, y crea Roslyn.Compilers.Extension.vsix . Esto implementa una copia de los compiladores de línea de comandos que se utilizan para hacer compilaciones reales en el IDE. Solo afecta las compilaciones activadas desde la instancia experimental de Visual Studio en la que está instalada, por lo que no afectará a sus compilaciones normales. Tenga en cuenta que si solo instala esto, el IDE no conocerá ninguna característica de idioma incluida en su compilación. Si está trabajando con regularidad en nuevas características de idioma, es posible que desee considerar la creación de los proyectos CompilerExtension y VisualStudioSetup para garantizar que la compilación real y el análisis en vivo estén sincronizados.

La descripción de VisualStudioSetup.Next establece claramente sus limitaciones y el uso esperado, que es la corrección de errores IDE:

VisualStudioSetup.Next : este proyecto se puede encontrar dentro de la carpeta VisualStudio desde el Explorador de soluciones, y crea Roslyn.VisualStudio.Setup.vsix. En teoría, contiene código para iluminar funciones para la próxima versión de VS (Dev16), pero actualmente no se ha actualizado para eso desde que Dev15 / VS2017 se envió. Si está trabajando para corregir un error IDE, este es el proyecto que desea utilizar.

Si el plan es reemplazar el compilador Roslyn en la instancia predeterminada de Visual Studio 2017, haga lo siguiente:

  1. Cierre todas las instancias de Visual Studio 2017.
  2. Haga doble clic en el paquete Roslyn.Compilers.Extension.vsix y después de elevar la extensión de instalación. Esta vez debería estar disponible en instancia predeterminada.

Los pasos anteriores se pueden aplicar también a Visual Studio Build Tools.

Cuidado: si creas y usas código no liberado, espera que tenga errores incluso durante el paso de la instalación .