c# - studio - VS2015: advertencia MSB3884: no se pudo encontrar el archivo de conjunto de reglas
error de servidor en la aplicación ''/'' acceso denegado (7)
Acabo de tener el mismo problema después de actualizar VS2013 a VS2015.
Mi solución fue:
- En las propiedades del proyecto, vaya a la sección Análisis de código.
- Seleccione la opción Examinar en la lista de conjuntos de reglas.
- Vaya a la carpeta de conjuntos de reglas VS2015. C: / Archivos de programa (x86) / Microsoft Visual Studio 14.0 / Herramientas de equipo / Herramientas de análisis estático / Conjuntos de reglas
- Elige un conjunto de reglas. El valor predeterminado utilizado por los nuevos proyectos es: MinimumRecommendedRules.ruleset
- Reconstruir. Verifique que la advertencia se haya ido.
Después de actualizar mi proyecto WinForms VS2013 a VS2015, comencé a ver la advertencia MSB3884 "No se pudo encontrar el archivo de conjunto de reglas".
Una búsqueda en Google mostró un artículo de MSDN, que señala un artículo de Stack Overflow, así como muchos otros sitios.
Pregunta similar: 33020507 MSDN: VS2015 MSB3884 Advertencia
Tengo VS2013 y VS2015 instalados.
Los archivos de proyecto que dan las advertencias (y los que no), no tienen estas entradas.
<CodeAnalysisRuleSetDirectories>
<CodeAnalysisRuleDirectories>
Si elimino las otras dos entradas del archivo del proyecto, el problema desaparece, lo cual es obvio, ya que no hay un conjunto de archivos de reglas.
<CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisIgnoreBuiltInRules>
Estoy tratando de construir externamente usando msbuild, sin embargo, VS2015 también tiende a mostrar el problema.
Curiosamente, si hago clic en el botón Abrir en el área del analizador de código de propiedades del proyecto, obtengo el archivo.
Especificar un conjunto de reglas diferente no hace ninguna diferencia.
Eso me hace pensar que, posiblemente, hay una configuración de variable de entorno, y no se me ocurre ninguna.
Code Analyzers es una función del archivo del proyecto.
Puedo agregar un atributo de directorio, pero el consenso es eliminar las rutas, los
<CodeAnalysisRule*Directories>
.
La GUI usa valores predeterminados:
Aquí hay un fragmento de archivo de proyecto típico.
<PropertyGroup Condition="''$(Configuration)|$(Platform)'' == ''Debug|x86''">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin/x86/Debug/</OutputPath>
<DefineConstants>TRACE;DEBUG</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
<Prefer32Bit>false</Prefer32Bit>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<CodeAnalysisRuleSet>BasicCorrectnessRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="''$(Configuration)|$(Platform)'' == ''Debug|x64''">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin/x64/Debug/</OutputPath>
<DefineConstants>TRACE;DEBUG</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
</PropertyGroup>
Sin deshacerse de las líneas de Análisis de Código del archivo del proyecto, aunque guardar un archivo de proyecto nuevamente lo agregaría nuevamente, ¿cómo puedo eliminar / corregir la advertencia?
Dijiste que los archivos de tu proyecto que
<CodeAnalysisRuleSetDirectories>
las advertencias no contenían ninguna entrada
<CodeAnalysisRuleSetDirectories>
.
El mío tampoco, y al igual que usted, obtengo el archivo si hago clic en el botón Abrir en la sección Análisis de código de propiedades del proyecto.
Sin embargo, la búsqueda en todos los archivos de proyecto en la solución arrojó dos proyectos que tenían etiquetas
<CodeAnalysisRuleSetDirectories>
, y esas etiquetas contenían una versión anterior de la referencia de Visual Studio en la ruta.
Arreglar esas rutas solucionó mi problema, y acabo de confirmar que el proyecto que estaba provocando el error hace referencia a un proyecto que hacía referencia a los proyectos que contenían las entradas incorrectas
<CodeAnalysisRuleSetDirectories>
.
Por lo tanto, busque la solución completa y repare todas las
<CodeAnalysisRuleSetDirectories>
, o intente eliminarlas.
En mi caso
<CodeAnalysisRuleSetDirectories>;C:/Program Files (x86)/Microsoft Visual Studio 10.0/Team Tools/Static Analysis Tools//Rule Sets</CodeAnalysisRuleSetDirectories>
convirtió
<CodeAnalysisRuleSetDirectories>;C:/Program Files (x86)/Microsoft Visual Studio 12.0/Team Tools/Static Analysis Tools//Rule Sets</CodeAnalysisRuleSetDirectories>
(La respuesta de Jon Shadforth también funcionó para mí, pero no me gustó agregar el camino a más proyectos, como comentó timB33)
Llegué a esta advertencia después de migrar de VS 2013 a VS 2015 también.
En mi caso, el error fue
Could not find rule set file "AllRules.ruleset"
se
Could not find rule set file "AllRules.ruleset"
.
La solución para mí fue cambiar la configuración de
VisualStudioVersion
en el archivo .csproj para que sea
14.0
para que se vea en la carpeta correcta del conjunto de reglas:
Después de eso y una reconstrucción, la advertencia se resolvió. Más fácil.
Me deshice de esta advertencia estableciendo
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
Pasé un tiempo mirando las diferentes soluciones propuestas aquí: cada una tenía buenos elementos, pero cada una requería algunos ajustes. Encontré una solución limpia para ser:
Localice un elemento existente o cree un
<PropertyGroup>
en el archivo del proyecto que NO tenga condiciones (por ejemplo, configuración o plataforma), es decir, que se aplicará a todas las configuraciones en todas las plataformas.
A este elemento, agregue un elemento
<CodeAnalysisRuleSetDirectories>
que especifique la ruta relativa al directorio "Conjunto de reglas" desde el directorio dev dev actual.
P.ej:
<PropertyGroup>
<CodeAnalysisRuleSetDirectories>$(DevEnvDir)/../../Team Tools/Static Analysis Tools/Rule Sets</CodeAnalysisRuleSetDirectories>
</PropertyGroup>
Tenía esto al compilar una solución actualizada de VS2015 a VS2017 pero tenía MSBuild 14 en la ruta (C: / Archivos de programa (x86) / MSBuild / 14.0 / Bin). Se modificó para garantizar que 15 estaba en la ruta (C: / Archivos de programa (x86) / Microsoft Visual Studio / 2017 / Professional / MSBuild / 15.0 / Bin) y todo funcionó.
Tuve este error en mi servidor de compilación que tiene herramientas de compilación de Visual Studio en lugar de Visual Studio.
La solución para mí fue utilizar el instalador para habilitar las
Static analysis tools
en la lista de componentes individuales.