Squeak.ru - шаблоны программирования

Ссылка на библиотеку правил пользовательского анализа кода с помощью файла набора правил

Информации о правилах анализа пользовательского кода для Visual Studio 2010, которую легко найти, не так много. Хотя это то, что я нашел в отношении своего вопроса ...

В образце библиотеки на CodePlex показано, как развернуть пользовательскую библиотеку правил анализа кода, которая использует проект установки для скопируйте библиотеку DLL в Папку программных файлов -> Microsoft Visual Studio 10.0 -> Инструменты группы -> Инструменты статического анализа -> FxCop -> Правила.

Более того, очень полезное руководство в блоге герцога Камстры также предлагает скопировать dll библиотеки в % Program Files% \ Microsoft Visual Studio 10.0 \ Team Tools \ Инструменты статического анализа \ FxCop \ Rules.

Я предпочитаю избегать размещения библиотек DLL в таком глобальном месте. Я хотел иметь DLL по сравнению с моими решениями Visual Studio, чтобы при обновлении библиотеки DLL с некоторыми изменениями в правилах анализа пользовательского кода мне не нужно было предпринимать дополнительных шагов для поддержания актуальности зависимостей DLL.

Идеальным решением для меня было бы, чтобы мой пользовательский файл * .ruleset знал относительный путь к DLL, но мне это не удалось.

Какие-либо предложения?


Ответы:


1

В вашем файле .ruleset вы должны иметь возможность добавлять относительные пути к библиотекам DLL настраиваемых правил. например.:

<?xml version="1.0" encoding="utf-8"?>
<RuleSet Name="Sample" Description="Sample ruleset" ToolsVersion="10.0">
  <RuleHintPaths>
    <Path>..\Tools\FxCop\SomeRules.dll</Path>
    <Path>..\Tools\FxCop\SomeOtherRules.dll</Path>
  </RuleHintPaths>
  ...
</RuleSet>
22.06.2011
  • Вы случайно не знаете, к чему относится этот путь? Относительно расположения файла .ruleset? 10.01.2013
  • Пути указаны относительно проекта. 16.08.2013

  • 2

    Я обнаружил, что даже правильный относительный путь относительно проекта (указанный как ответ Николь) к моей сборке настраиваемых правил не вызвал мои правила чтобы появиться в редакторе набора правил, в то время как абсолютный путь к той же сборке действительно отображал правила. Когда я включил правила, а затем снова изменил путь на относительный, правила остаются в редакторе и запускаются во время анализа источника. Если я сниму отметку с правил с указанным относительным путем, правила исчезнут - это похоже на ошибку в редакторе правил.

    Итак, если ваши правила не отображаются при указании относительного пути, попробуйте использовать абсолютный, включив правила, а затем переключитесь обратно на относительный путь (относительно местоположения проекта на @Raithlin).

    29.04.2014

    3

    Эта проблема, похоже, также влияет на VS 2013. Я обнаружил, что ручной ввод относительного пути к сборке правил и правил из этой сборки приведет к тому, что эти правила появятся, когда я открою набор правил с помощью Visual Studio Пользовательский интерфейс дизайнера наборов правил. Правила также будут запущены.

    Таким образом, рабочий CustomRules.ruleset может выглядеть так, где SR1000 - это правило из SomeRules.dll, а SOR1000 - из SomeOtherRules.dll. Обратите внимание, что версия инструментов - 12.0 для Visual Studio 2013.

    <?xml version="1.0" encoding="utf-8"?>
    <RuleSet Name="Sample" Description="Sample ruleset" ToolsVersion="12.0">
      <RuleHintPaths>
        <Path>..\Tools\FxCop\SomeRules.dll</Path>
        <Path>..\Tools\FxCop\SomeOtherRules.dll</Path>
      </RuleHintPaths>
      <Rules AnalyzerId="Microsoft.Analyzers.ManagedCodeAnalysis" RuleNamespace="Microsoft.Rules.Managed">
        <Rule Id="SR1000" Action="Error" />
        <Rule Id="SOR1000" Action="Warning" />
        <!-- etc. -->
      </Rules>
    </RuleSet>
    

    Обратите внимание, что вы можете легко включить стандартные правила Microsoft, добавив в RuleSet следующие включения:

    <Include Path="minimumrecommendedrules.ruleset" Action="Default" />
    
    12.09.2014

    4

    Я использую Visual Studio C # 2015 с обновлением 2. Мои настраиваемые правила не отображаются в редакторе набора правил Visual Studio 2015. Однако, когда я запускаю CodeAnalysis, появляются нарушения, если они есть. Мой RuleHintPath выглядит так и относительно местоположения файла набора правил:

    <RuleHintPaths>
      <Path>..\Rules</Path>
    </RuleHintPaths>
    

    Таким образом, поскольку нарушения обнаружены, это факт, что библиотеки правил DLL найдены по заданному относительному пути. Вопрос в том, почему правила не отображаются в редакторе набора правил. Вот почему я предполагаю ошибку редактора.

    11.05.2016
    Новые материалы

    Угловая структура архитектуры
    Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

    «Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
    Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

    Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
    В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

    Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
    React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

    Создайте API с помощью Python FastAPI
    Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

    Веселье с прокси-сервером JavaScript
    Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

    Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
    Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...