Saturday 10 February 2018

Fxcop 명령 줄 옵션


Fxcop 명령 행 옵션
App Store를 통해 가져 오기 우리의 응용 프로그램 에서이 게시물을 읽으십시오!
명령 줄을 사용하여 선택 FxCop 규칙을 어떻게 실행할 수 있습니까?
프로젝트를 만들고 상대 경로를 사용할 수 있지만 프로젝트 파일을 버전 관리에 보관하고 싶지는 않습니다. 간략하게하기 위해 Microsoft. Design에서 CA1001 규칙 하나만 실행하려고한다고 가정 해 보겠습니다. 명령 줄 인수로이를 어떻게 지정하고 TeamCity FxCop 빌드 러너에서 작동하게 할 수 있습니까?
이를 위해 / ruleid 명령 행 옵션이 있습니다. fxcopcmd. exe 명령 줄 옵션에 대한 MSDN 도움말 항목에는 표시되지 않지만 fxcopcmd. exe /?를 실행하여 설명을 볼 수 있습니다. .
이 도구는 \ FxCopCmd. exe에 있습니다. 옵션 목록은 여기에서 찾을 수 있습니다. 모든 옵션에는 콜론과 매개 변수 (있는 경우)가 추가되어야하지만 공백이 없어야합니다. 기본 명령은 다음과 같습니다.
또한 필요에 따라 여러 규칙을 적용 할 수 있습니다.
위의 명령에서 플래그는 다음과 같습니다.
/ rule 포함시키려는 규칙 dll에 대한 경로입니다.
/ out 분석을 저장할 파일입니다.
/ summary FxCop에 요약을 보고서에 포함시킵니다.

Fxcop 명령 행 옵션
App Store를 통해 가져 오기 우리의 응용 프로그램 에서이 게시물을 읽으십시오!
코드 생성기에 대한 코드 분석 생성 된 파일 - 경고를 표시하지 않는 방법
모든 소스 파일에 대해 코드 분석을 실행합니다. 소스 파일 중 하나는 생성 된 출력을 제어 할 수없는 Linq-To-SQL 생성 파일입니다. 생성 된 코드는 억제하려는 코드 분석 경고를 생성합니다. 파일 자체에서 속성 및 / 또는 pragma를 작성하는 것과 관련이없는 코드 생성 파일에서 CA 경고를 표시하지 않을 수있는 방법이 있습니까? (파일이 생성 될 때마다 덮어 씁니다.)
클래스에 [GeneratedCode] 속성이 있습니까? 그렇다면 FxCop에서 무시하도록 할 수 있습니다.
FxCop 프로젝트 사용 :
FxCop에서 FxCop 프로젝트 열기 프로젝트 -> 옵션 -> 맞춤법 검사 & amp; 분석 확인 생성 된 코드에 대한 분석 결과 표시 안 함 확인을 클릭합니다.
명령 행을 통해 :
/ ignoregeneratedcode 스위치를 전달합니다 (예 :
부분 클래스의 고유 한 분기를 사용하여 해당 특성을 적용하여 GeneratedCode 특성 부족을 해결할 수 있습니다. 이는 사용자가 추가 한 모든 사용자 정의 코드 (부분 메소드 구현 포함)가 제외된다는 것을 의미합니다. 예 :
FxCop GUI를 사용하는 경우 FxCop 프로젝트에서 이러한 문제를 제외 할 수 있습니다. 문제를 마우스 오른쪽 버튼으로 클릭하고 제외 위치를 선택하여 댓글을 추가 할 수있는 곳을 선택하십시오.
그러나 출력 창에서 FxCop을 실행하면 단서가 없습니다. 아마도 모듈 수준의 SuppressMessage를 만들고 AssemblyInfo. cs에 붙여 넣을 수 있는지 확인할 수 있습니다. 그러나 나는 그렇게 생각하지 않는다.
PLINQO (Linq-to-SQL) CodeSmith 템플릿은 자동으로이 속성을 생성합니다. 대부분의 추가 기능 또한 파일 이름에 ".generated"로 생성 된 부분 클래스를 무시하기 시작합니다.

Fxcop 명령 행 옵션
소프트웨어 웹 사이트는 여기에서 찾을 수 있습니다.
이 가이드는 2011 년 5 월에 시작되었습니다.
버전 10.0은 4.0에서 사용할 수 있습니다.
버전 1.35는 이전 버전에서 사용할 수 있습니다.
설치.
참조.
그러나 GUI 도구에서는 이러한 참조를 무시할 수 있으며 보고서에 영향을 미치지 않습니다. 불행하게도이 옵션은 명령 줄에서 사용할 수 없으며 앞으로도 제공되지 않을 예정입니다.
명령 행 인터페이스.
/ 규칙 : "C : \ Program Files \ Microsoft FxCop 1.35 \ Rules \ DesignRules. dll"
/ 규칙 : "C : \ Program Files \ Microsoft FxCop 1.35 \ Rules \ GlobalizationRules. dll"
/ 규칙 : "C : \ Program Files \ Microsoft FxCop 1.35 \ Rules \ InteroperabilityRules. dll"
/ 규칙 : "C : \ Program Files \ Microsoft FxCop 1.35 \ Rules \ MobilityRules. dll"
/ 규칙 : "C : \ Program Files \ Microsoft FxCop 1.35 \ Rules \ NamingRules. dll"
/ 규칙 : "C : \ Program Files \ Microsoft FxCop 1.35 \ Rules \ PerformanceRules. dll"
/ 규칙 : "C : \ Program Files \ Microsoft FxCop 1.35 \ Rules \ PortabilityRules. dll"
/ 규칙 : "C : \ Program Files \ Microsoft FxCop 1.35 \ Rules \ SecurityRules. dll"
/ 규칙 : "C : \ Program Files \ Microsoft FxCop 1.35 \ Rules \ UsageRules. dll"
/ 디렉토리 : "C : ₩ Program Files ₩ Reference Assemblies ₩ Microsoft ₩ Framework ₩ v3.5 ₩ System. Core. dll"
위의 명령에서 플래그는 다음과 같습니다.
/ rule 포함시키려는 규칙 dll에 대한 경로입니다.
/ out 분석을 저장할 파일입니다.
/ summary FxCop에 요약을 보고서에 포함시킵니다.
/ file 분석하려는 파일.
/ directory 어떤 이유로 프로젝트 파일은 System. Core. dll의 위치를 ​​기억할 수 없습니다. 오류를 피하기 위해 dll을 이와 같이 지정할 수 있습니다.
FxCop GUI 응용 프로그램을 처음 열면 다음과 같이 보입니다.
FxCop 프로젝트를 설정하면 코드를 분석 할 수 있습니다. 이 작업은 Project - & gt; Analyze (분석) 또는 Analyze (분석) 버튼을 클릭합니다. 이제 FxCop이 코드를 분석하고 규칙이 깨진 곳을 보여줍니다. 팝업 창에 요약 보고서가 표시되고 기본 창에 규칙이 깨진 모든 장소가 나열됩니다. 목록의 각 항목에는 규칙에 대한 정보, 위반 코드가있는 정확한 위치 및 문제를 해결하기 위해 수행해야 할 작업에 대한 정보가 있습니다.
/ project 방금 만든 프로젝트 파일입니다.
% workspace % jenkins가 설정 한 sysmtem 변수입니다. 이것은 작업 공간을 가리키며 여기서 FxCop 프로젝트 파일을 배치 할 수 있습니다.
다른 옵션은 위에 설명되어 있습니다.
자세한 정보는 MSDN GUI 가이드를 참조하십시오.
젠킨스 CI.
Jenkins 작업 구성에서 Windows 일괄 처리 명령 빌드 단계를 추가하고 올바른 매개 변수로 FxCopCmd를 시작하는 명령을 입력해야합니다.
FxCopCmd가 위반 사항을 발견하면 위반 횟수 및 위반 플러그인 설정에 따라 Jenkins 작업이 실패하거나 불안정한 것으로 표시됩니다.
Violations 플러그인은 일련의 성공적인 빌드 후에 만 ​​그래프를 표시합니다.

Fxcop 명령 행 옵션
다음은 정확한 결과입니다.
82 개의 메시지를 씁니다.
========== 빌드 : 0 성공 또는 최신, 1 실패, 0 건너 뛰기 ==========
충돌은 & lt; 위치가 Pdb에 저장되지 않음 & gt;을 만났을 때 MSBuild의 버그입니다. 이것은 Orcas에서 수정되었습니다.
모든 답장.
충돌은 & lt; 위치가 Pdb에 저장되지 않음 & gt;을 만났을 때 MSBuild의 버그입니다. 이것은 Orcas에서 수정되었습니다.
내가 제안한대로 xsl 파일을 교체 한 후에도 동일한 오류가 발생합니다.
다른 가능한 수정 사항이 있습니까?
FxCop의 어떤 버전을 설치하셨습니까? Team Suite 또는 Team Developer를 설치 했습니까?
명령 줄을 통해 수동으로 블로그 게시물에서 명령을 실행하고 여기에 내용을 붙여 넣을 수 있습니까?
빌드 후 이벤트에서 다음 명령을 실행할 때 VSConsoleOutput. xsl을 사용자가 제공 한 최신 버전으로 바꾸더라도 IDE가 충돌하고 더 이상 이동할 수 없습니다.
& quot; % ProgramFiles % \ Microsoft Visual Studio 8 \ Team Tools \ Static Analysis Tools \ FxCop \ FxCopCmd. exe & quot; /p:"C:\Hiral\DotNetSamples\StaticCodeAnalysisSample\StaticCodeAnalysisSample\Sample. fxCop" /콘솔.
명령 프롬프트에서 실행하면 동일한 명령이 제대로 작동합니다.
진행 방법을 제안하십시오.
이 페이지에 게시 된 XSL은 충돌하는 버그를 수정하지 않습니다 (Visual Studio의 다음 버전에서 수정 됨). 게시 빌드 이벤트를 통해 Visual Studio와 함께 설치되는 FxCop 버전을 실행하지 않는 것이 좋습니다 IDE에서.
프로젝트 속성의 코드 분석 탭에서 코드 분석 실행을 선택하기 만하면 FxCop / 코드 분석을 실행하지 마십시오.
답변 해 주셔서 감사합니다.
& quot; 실행 코드 분석 & quot;을 확인하는 것을 선호하지 않았습니다. 옵션으로 내 요구 사항을 해결하지 못합니다.
아이디어는 프로젝트의 특정 세트에 대한 설계, 명명, 세계화 등의 특정 규칙을 갖는 것입니다.
개발자가 새로운 프로젝트를 만들 때마다 특정 규칙을 선택하지 않기를 바랍니다. 대신에 그들은 사용해야하는. fxcop 파일을 제공받습니다. 그들은 가서 & lt; Target & gt; 거기 dll / exe.
프로젝트 유형이 A (웹 응용 프로그램), B (클래스 라이브러리), C (SharePoint 웹 파트) 등이 있다고 가정 해 보겠습니다.
프로젝트 유형 A의 경우 10 가지 디자인 규칙, 5 가지 이름 지정 규칙 등을 적용해야합니다.
마찬가지로 프로젝트 B의 경우 5 가지 디자인 규칙, 3 가지 글로벌 규칙이 적용되기를 원합니다.
이것을 달성하기 위해 포스트 빌드 이벤트에서 실행되는 프로젝트의 각 유형에 대해 별도의. fxCop 파일을 만들었습니다.
개발자가 프로젝트 유형 A에서 작업 할 때 B는 B. fxCop을 사용할 때 A. fxCop을 사용합니다.
위의 구현 중에 & quot; & lt; PDB 파일을로드 할 수 없습니다 & gt;라는 메시지가 표시됩니다. 메시지를 출력 창에 표시합니다. 나중에 오류 보고서를 보낼 메시지가 표시되고 IDE가 닫힙니다.
해결 방법이 있으면 알려주십시오.
다음 버전의 Visual Studio를 기다리기가 어렵습니다.
오늘은 해결 방법으로, 나는 FxCop의 다른 인스턴스를 사용할 생각 :
나는 FxCop 1.35를 설치하고 post 빌드 이벤트에 다음 명령을 사용했습니다.
"C : \ Program Files \ Microsoft FxCop 1.35 \ FxCopCmd. exe" /p:"C:\Hiral\DotNetSamples\StaticCodeAnalysisSample\StaticCodeAnalysisSample\Sample. fxCop" /콘솔.
잘 작동합니다.
그래서 내가 관찰 한 것은 FxCop의 별도 인스턴스를 사용할 때 포스트 빌드 이벤트에서 잘 작동한다는 것입니다.
Visual Studio 8.0과 함께 빌드 된 FxCop 인스턴스를 사용하면 & quot; & lt; PDB 파일을로드 할 수 없습니다 & gt; & quot; 오류가 발생하여 프로젝트를 닫습니다.
그래서 FxCop 1.35를 사용하면 해결 방법이 생깁니다.
또 다른 요점은 FxCop 1.35를 사용할 때 유지 관리 및 안정성 규칙을 얻지 못한다는 것입니다. FxCop 1.35와 함께 사용할 수 있습니까?
전반적으로 FxCop 1.25를 사용하지 않고 Visual Studio 2005에서 FxCop을 사용하는 것을 선호합니다.
이에 대한 귀하의 의견과 걱정을 말하십시오.
FxCop 1.35에서 작동하도록 Visual Studio와 함께 제공되는 추가 규칙 어셈블리를 가져올 수 없습니다.
지금하고 싶은 일을 성취하기 위해 포스트 빌드 이벤트 (FxCop이 Visual Studio를 작동시키는 것으로 밝혀 졌을 때) 중에 실행되도록 요구하면이 작업을 수행 할 수 있습니다.
위의 내용을 수행 할 때 각 프로젝트 유형에 대한 CodeAnalysis. Rules. targets 파일을 작성하기 만하면됩니다.
Microsoft는 Msdn 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 실시하고 있습니다. 참여를 선택하면 Msdn 웹 사이트를 탈퇴 할 때 온라인 설문 조사가 제공됩니다.

No comments:

Post a Comment