воскресенье, 6 мая 2018 г.

Opções do fxcopcmd


Opções do Fxcopcmd
Eu sei que você pode criar um projeto e usar caminhos relativos, mas eu não quero manter o arquivo de projeto no controle de versão. Digamos, por uma questão de brevidade, que eu só queira executar uma regra, o CA1001, do Microsoft. Design. Como posso especificar isso com argumentos de linha de comando e fazê-lo funcionar em um executor de compilação TeamCity FxCop?
Existe uma opção de linha de comando / ruleid que pode ser usada para isso. Ele não aparece no tópico de ajuda do MSDN para as opções de linha de comando do fxcopcmd. exe, mas é possível ver uma descrição executando fxcopcmd. exe /? .
A ferramenta está localizada em \ FxCopCmd. exe. Uma lista de opções pode ser encontrada aqui. Todas as opções devem ser anexadas com dois pontos e o parâmetro (se houver), mas sem espaços em branco. Um comando básico é o seguinte.
Você também pode aplicar várias regras, como necessário:
No comando acima, as bandeiras são:
/ rule Um caminho para a regra dll que você deseja incluir.
/ out Para qual arquivo a análise deve ser salva.
/ summary Faz com que o FxCop inclua um resumo no relatório.

Opções do Fxcopcmd
O site do software pode ser encontrado aqui.
Este guia foi iniciado em maio de 2011.
A versão 10.0 está disponível no. NET 4.0.
A versão 1.35 está disponível em versões anteriores do. NET.
Instalação.
Referências.
Na ferramenta GUI, no entanto, é possível ignorar essas referências e elas não afetarão seu relatório. Infelizmente esta opção não está disponível na linha de comando e não estará no futuro.
Interface da Linha de comando.
/ rule: "C: \ Arquivos de Programas \ Microsoft FxCop 1.35 \ Rules \ DesignRules. dll"
/ rule: "C: \ Arquivos de Programas \ Microsoft FxCop 1.35 \ Rules \ GlobalizationRules. dll"
/ rule: "C: \ Arquivos de Programas \ Microsoft FxCop 1.35 \ Rules \ InteroperabilityRules. dll"
/ rule: "C: \ Arquivos de Programas \ Microsoft FxCop 1.35 \ Rules \ MobilityRules. dll"
/ rule: "C: \ Arquivos de Programas \ Microsoft FxCop 1.35 \ Rules \ NamingRules. dll"
/ rule: "C: \ Arquivos de Programas \ Microsoft FxCop 1.35 \ Rules \ PerformanceRules. dll"
/ rule: "C: \ Arquivos de Programas \ Microsoft FxCop 1.35 \ Rules \ PortabilityRules. dll"
/ rule: "C: \ Arquivos de Programas \ Microsoft FxCop 1.35 \ Rules \ SecurityRules. dll"
/ rule: "C: \ Arquivos de Programas \ Microsoft FxCop 1.35 \ Rules \ UsageRules. dll"
/ directory: "C: \ Arquivos de programas \ Assemblies \ Microsoft \ Framework \ v3.5 \ System. Core. dll de referência"
No comando acima, as bandeiras são:
/ rule Um caminho para a regra dll que você deseja incluir.
/ out Para qual arquivo a análise deve ser salva.
/ summary Faz com que o FxCop inclua um resumo no relatório.
/ arquivo O arquivo que você deseja analisar.
/ diretório Por algum motivo, o arquivo de projeto não pode lembrar onde o System. Core. dll está localizado. Para evitar erros, você pode especificar a dll como esta.
Quando você abre pela primeira vez o applik da GUI do FxCop, ele deve se parecer com o seguinte.
Quando você tiver configurado seu projeto FxCop, poderá analisar seu código. Isso é feito clicando em Projeto - & gt; Analise ou no botão Analisar. Agora o FxCop irá analisar o seu código e mostrar onde as regras estão quebradas. Um pop-up mostrará um relatório resumido e as janelas principais listarão todos os lugares que uma regra está quebrada. Cada item da lista conterá informações sobre a regra, onde exatamente no código está a violação e o que você deve fazer para corrigi-la.
/ project O arquivo de projeto que você acabou de criar.
% workspace% Uma variável sysmtem definida por jenkins. Isso aponta para o espaço de trabalho, onde você pode colocar seu arquivo de projeto FxCop.
As outras opções são explicadas acima.
Para obter mais informações, consulte o Guia da GUI do MSDN.
Jenkins CI.
Em uma configuração de tarefa do Jenkins, você precisa adicionar uma etapa de criação do comando de lote do Windows e inserir o comando que ativa o FxCopCmd com os parâmetros corretos.
Observe que, se FxCopCmd encontrar violações, o trabalho do Jenkins falhará ou será marcado como instável, dependendo do número de violações e das configurações do plug-in de violações.
O plug-in Violations só mostrará um gráfico após uma série de construções bem-sucedidas.

Neste artigo.
A regra & # 39; RuleId & # 39; Não pode ser achado.
Este erro indica que a regra especificada não pôde ser encontrada.
Esse aviso pode ser causado por uma opção FxCopCmd. exe / RuleId incorretamente formatada, um valor da propriedade CodeAnalysisRules formatado incorretamente ou porque a regra especificada está em um assembly de regra que o FxCop não está usando.
Opção FxCopCmd / RuleId.
Use um dos seguintes formatos para especificar uma regra na opção FxCopCmd. exe / RuleId na linha de comando FxCopCmd:
onde Categoria é a categoria de regra e RuleId é o CheckId da regra. Por exemplo:
em que Namespace é a categoria de regra e RuleId é o ID de verificação da regra. Por exemplo:
Propriedade MSBuild CodeAnalysisRules.
Na análise de código do Visual Studio, as regras podem ser especificadas usando a propriedade CodeAnalysisRules do MSBuild com o seguinte formato:
Que tipo de feedback você gostaria de fornecer?
Nosso novo sistema de feedback é construído sobre os problemas do GitHub. Para mais informações sobre essa mudança, leia nossa postagem no blog.

Opções do Fxcopcmd
Crie o arquivo. lastcodeanalysysuccessed no diretório do relatório de saída, se não.
mensagens construtivas ocorrem durante a análise.
Quando você usa a extensão. FxCop, está indicando que um arquivo de projeto FxCop deve ser o resultado de uma análise. Como as configurações de meta de regra e análise sempre existem para uma execução de análise, um arquivo de projeto é sempre criado, mesmo que nenhuma violação seja gerada.
Todas as respostas.
Essa opção de linha de comando é relevante apenas para um cenário de integração VS. Dentro do VS, um usuário pode elevar um aviso específico para quebrar a construção do VS para um projeto. Isso não mapeia para o cenário autônomo.
O que exatamente você gostaria de realizar? Se você quer saber se alguma violação ocorreu, a coisa mais direta a ser feita é apenas emitir violações ativas para o seu arquivo de saída. Se o arquivo for realmente gerado, existem problemas. Se não existir, nenhum problema foi encontrado.
. a coisa mais direta a ser feita é apenas emitir violações ativas para o seu arquivo de saída.
Se o arquivo for realmente gerado, existem problemas. Se não existir, nenhum problema foi encontrado.

Opções do Fxcopcmd
A tabela a seguir mostra as opções suportadas pelo FxCopCmd. Valores de opção não diferenciam maiúsculas de minúsculas.
Aplica a transformação XSL especificada em / outXsl ao relatório de análise antes de salvar o arquivo.
Não pode aparecer várias vezes.
Direciona a saída de análise para o console ou para a janela Saída no Visual Studio. NET. Por padrão, o arquivo XSL FxCopConsoleOutput. xsl é aplicado à saída antes de ser exibida. Para obter informações adicionais, consulte Integração do Visual Studio.
Obrigatório, a menos que / consoleXsl, / out ou / update esteja presente.
onde & lt; xsl & gt; é o nome do arquivo XSL a ser usado.
Especifica o arquivo XSL ou XSLT que contém uma transformação a ser aplicada à saída de análise antes de ser exibida no console ou na janela Saída do Visual Studio.
Essa opção substitui o arquivo XSL padrão aplicado à saída da análise.
Obrigatório, a menos que / console, / out ou / update esteja presente.
onde & lt; diretório & gt; é o nome do diretório para procurar por dependências de assembly de destino.
Especifica um diretório adicional para procurar por dependências de montagem. FxCopCmd sempre procura o diretório de assembly de destino e o diretório de trabalho atual.
Pode aparecer várias vezes.
onde & lt; arquivo / diretório & gt; é o nome de um arquivo executável (.exe) ou biblioteca de vínculo dinâmico (DLL) ou um diretório para procurar por assemblies de destino.
Especifica o assembly de destino para analisar. Se você especificar um diretório, o FxCopCmd tentará analisar todos os arquivos com a extensão. exe ou. dll.
Pode aparecer várias vezes.
Obrigatório a menos que / project esteja presente.
Exibe um resumo das opções do FxCopCmd.
Outras opções que aparecem com / help são ignoradas.
/ import: & lt; arquivo / diretório & gt;
onde & lt; arquivo / diretório & gt; é o nome do arquivo de relatório FxCop (.xml) ou projeto (.FxCop) a ser usado, ou um diretório para procurar por arquivos de relatório ou projeto.
Especifica o nome de um relatório de análise ou arquivo de projeto a ser importado. Quaisquer mensagens no arquivo importado marcadas como excluídas não são incluídas nos resultados da análise.
Se você especificar um diretório, o FxCopCmd tentará importar todos os arquivos com a extensão. xml. Para importar todos os arquivos de projeto do FxCop, inclua *.FxCop.
Se os resultados da análise forem salvos em um arquivo de projeto usando a opção / update, as mensagens importadas não serão salvas.
Pode aparecer várias vezes.
onde & lt; arquivo & gt; é o nome do arquivo para o relatório de análise.
Especifica o nome do arquivo para o relatório de análise. Para informações adicionais, consulte Relatórios de análise.
Se o arquivo existir, ele será sobrescrito sem aviso. Se nenhum item for relatado pela análise e o arquivo não existir, ele não será criado. Se o arquivo existir, ele será excluído.
Por padrão, o arquivo inclui uma instrução de processamento xml-stylesheet que faz referência a FxCopReport. xsl. O arquivo é salvo no formato XML, a menos que / applyoutXsl seja especificado.
Não pode aparecer várias vezes.
Obrigatório, a menos que / console, / consoleXsl ou / update esteja presente.
onde & lt; xsl & gt; é o nome do arquivo XSL referenciado na instrução de processamento.
Especifica o arquivo XSL ou XSLT que é referenciado pela instrução de processamento xml-stylesheet no relatório de análise.
Esta opção substitui o arquivo XSL padrão aplicado ao relatório.
Especifique & quot; nenhum & quot; para gerar um relatório sem uma instrução de processamento de folha de estilo.
Não pode aparecer várias vezes.
onde & lt; diretório & gt; é o nome do diretório que contém os assemblies da plataforma.
Especifica o local da versão do Mscorlib. dll que foi usado ao criar os assemblies de destino, se essa versão não estiver instalada no computador que executa o FxCopCmd. Normalmente, essa opção não precisa ser definida.
Não pode aparecer várias vezes.
onde & lt; arquivo & gt; é o nome do arquivo de projeto FxCop (.FxCop) a ser usado.
Especifica o nome do arquivo de um arquivo de projeto FxCop.
Não pode aparecer várias vezes.
Obrigatório, a menos que / file e / rule estejam presentes.
onde & lt; arquivo / diretório & gt; é o nome de uma biblioteca de regras (.dll) ou um diretório para procurar por bibliotecas de regras.
Especifica o local das bibliotecas de regras a serem carregadas. Se você especificar um diretório, o FxCopCmd tentará carregar todos os arquivos com a extensão. dll.
Pode aparecer várias vezes.
Obrigatório a menos que / project esteja presente.
Inclui um relatório de resumo com as mensagens informativas retornadas por FxCopCmd. O resumo mostra o número de itens encontrados, quantos itens eram novos e o tempo de execução da análise.
onde & lt; lista de tipos & gt; é uma lista separada por vírgulas de nomes de tipos para analisar.
Especifica os tipos para analisar. Esta opção desativa a análise de assemblies, namespaces e recursos; somente os tipos especificados e seus membros são incluídos na análise.
Os elementos de & lt; lista de tipos & gt; pode usar o caractere curinga '*' no final do nome para selecionar vários tipos.
Não pode aparecer várias vezes.
Salva os resultados da análise no arquivo de projeto. Esta opção é ignorada se a opção / project não for especificada.
Produz informações detalhadas durante a análise.
No mínimo, você deve especificar um dos itens a seguir:
· A localização da saída de análise, usando a opção / console, / consoleXsl ou / out e um dos seguintes:
· Um projeto usando a opção / project.
· Um assembly para analisar e um par de diretórios de regras usando as opções / file e / rule.
· Um projeto usando a opção / project e a opção / update.
Argumentos de opção têm as seguintes características:
· Eles podem conter caracteres curinga. Por exemplo, você poderia especificar os conjuntos de destino usando um caminho neste formulário:
· Eles podem conter variáveis ​​de ambiente. Por exemplo, se você tiver a variável de ambiente FXCOPRULEDIR definida, poderá especificar as bibliotecas de regras usando um caminho que contenha% FXCOPRULEDIR%.
· Os argumentos da opção que contêm espaços devem ser colocados entre aspas. Isso inclui variáveis ​​de ambiente que se referem a valores que contêm espaços. Por exemplo, se a variável de ambiente FXCOPRULEDIR fizer referência a C: \ Arquivos de Programas \ Microsoft FxCop \ Rules, a opção de regra será especificada como / r: & quot;% FXCOPRULEDIR% & quot ;.
Se as opções / file e / project estiverem presentes, os assemblies especificados pela opção / file serão carregados após os assemblies especificados no arquivo de projeto. Se for feita uma tentativa de carregar um assembly duplicado, o FxCopCmd exibirá uma mensagem de erro indicando que um assembly com uma assinatura idêntica já foi carregado.
Se as opções / rule e / project estiverem presentes, as bibliotecas de regras especificadas pela opção / rule serão carregadas após as especificadas pela opção / project. Se for feita uma tentativa de carregar uma biblioteca de regras duplicada, o FxCopCmd exibirá uma mensagem de erro indicando que uma biblioteca de regras com uma assinatura idêntica já foi carregada.
© 2002 - 2004 Microsoft Corporation. Todos os direitos reservados.

Комментариев нет:

Отправить комментарий