vscode visual temas studio para color code brackethighlighter autocompletar visual-studio-2010 visual-studio code-analysis assemblybinding

visual studio 2010 - visual - Redirección de unión de ensamblaje y análisis de código



visual studio code path intellisense (4)

Además de la solución peter_raven, puede especificar la opción para que Code Analysis funcione con la compilación TFS. Agregue esto en las opciones de compilación, pestaña de proceso, categoría avanzada en "Argumentos MSBuild":

/p:CodeAnalysisAdditionalOptions=/assemblyCompareMode:StrongNameIgnoringVersion

Estoy usando DotNetOpenAuth (que hace referencia a System.Web.Mvc versión 1.0.0.0) en un proyecto de Mvc 3.0.0.0 en Visual Studio 2010.

Estoy usando una redirección de enlace de ensamblaje de la siguiente manera:

<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" /> </dependentAssembly> </assemblyBinding> </runtime>

Todo funciona bien, excepto el análisis de código que me da los siguientes errores:

CA0001: Se ha encontrado el siguiente error al leer el módulo X: No se puede resolver la referencia de ensamblado: System.Web.Mvc, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35.

y

CA0058: No se pudo encontrar el ensamblado al que se hace referencia ''System.Web.Mvc, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35''. Este conjunto es necesario para el análisis y fue referenciado por: X.

¿Hay alguna manera de que la herramienta de análisis de código respete la redirección de enlace de ensamblaje?


Consulte http://davesbox.com/archive/2008/06/10/reference-resolution-changes-in-code-analysis-and-fxcop-part-1.aspx y http://davesbox.com/archive/2008/06/14/reference-resolutions-changes-in-code-analysis-and-fxcop-part-2.aspx para obtener un poco de información de fondo.

En VS2010 / FxCop 10.0, hay un nuevo modificador de línea de comando / assemblyCompareMode para fxcopcmd.exe que le permite especificar el modo de comparación sin perder el tiempo con el archivo .config. Puede especificar esto en su proyecto VS utilizando la propiedad CodeAnalysisAdditionalOptions MSBuild.


Solo para complementar con una respuesta un poco más precisa:

Necesita ejecutar FxCopCmd.exe con:

fxcopcmd.exe /assemblyCompareMode:StrongNameIgnoringVersion

o modifique su archivo de proyecto de Visual Studio para el grupo de propiedades de cada configuración de compilación, como este:

<PropertyGroup Condition=" ''$(Configuration)|$(Platform)'' == ''Release|AnyCPU'' "> ... <CodeAnalysisAdditionalOptions>/assemblyCompareMode:StrongNameIgnoringVersion</CodeAnalysisAdditionalOptions> </PropertyGroup>


Use esto si necesita desactivar el Análisis de código.

En Visual Studio 2012,

  1. Haga clic derecho en su proyecto y seleccione "Propiedades" en el menú emergente.
  2. Haga clic en la pestaña "Análisis de código" y desmarque "Habilitar análisis de código en compilación"

Limpiar y construir El error de Code Analysis debería desaparecer.