На Windows Server 2003 R2 с.NET 4 SDK, но без Visual Studio 2010, я попытался создать решение для Visual Studio 2010 года с
msbuild MySolution.sln /p:RunCodeAnalysis=true
но это перестало работать.
Что требуется выполнить анализ кода такой среды?
Я получаю это сообщение об ошибке:
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\CodeAnalysis\Microsoft.CodeAnalysis.targets(129,9): error MSB6003: The specified task executable "FxCopCmd.exe" could not be run. Could not load file or assembly 'Microsoft.VisualStudio.CodeAnalysis.Sdk, Version=10.0.0.0, Culture=neutral, PublicKeyToken= b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
Я установил FxCop от SDK, и без удачи указал на переменный FxCopDir на установленное местоположение FxCopCmd.exe, и также устанавливающий этот ключ реестра на то местоположение:
HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\Setup\EDev@FxCopDir
У меня была такая же проблема на моем сервере MSBuild, и я решил ее следующим образом:
Затем я скопировал с компьютера разработчика в папку FxCop на сервере сборки следующее:
Найдите их на своем компьютере разработчика с установленной Visual Studio.
Затем используйте версию .NET 4.0 gacutil.exe для установки Microsoft.VisualStudio.CodeAnalysis.Sdk.dll в GAC.
Вы должны затем иметь возможность запускать анализ кода как часть сборки MSBuild, чтобы он работал правильно.
Другим вариантом может быть вызов исполняемого файла FxCop в качестве задачи сборки (из msbuildtasks ) с сохранением результата в виде XML-файла, который можно проанализировать с помощью большинства инструментов CI ( как Hudson и CC.NET)