사용자 정의 룰 세트 파일을 우리의 nuget 패키지로 사용하려고합니다. 나는 패키지 .props 파일의 빌드 폴더에 추가했습니다코드 분석이 (.props에서) nuget 패키지의 룰 세트와 작동하지 않습니다.
<Project>
<PropertyGroup>
<CodeAnalysisRuleSet>
$(MSBuildThisFileDirectory)..\My.Shared.ruleset
</CodeAnalysisRuleSet>
<RunCodeAnalysis>true</RunCodeAnalysis>
</PropertyGroup>
</Project>
규칙 설정 파일이 패키지 루트 폴더에, 경로는이 .props의 가져 오기 csproj 파일에 파일을 추가하는 것, 정확합니다.
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\My.Shared.Rulesets.1.0.0.7118\build\My.Shared.Rulesets.props" Condition="Exists('..\packages\My.Shared.Rulesets.1.0.0.7118\build\My.Shared.Rulesets.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
...
그러나 Visual Studio에서 올바른 규칙 집합이 보이지 않습니다. References -> Analyzers에서 활성화 된 규칙 집합을 열면 다른 파일을 가리키고 있습니다 : MinimumRecommendedRules.ruleset 그리고이 파일의 규칙은 내 사용자 정의 규칙이 아닙니다.
- 비주얼 스튜디오 Comunity 2017 버전 15.5.0
- 4.6.1
우리는 각 프로젝트에 룰셋 파일을 복사하는 것을 피하려고했습니다. 개발자는 그것을 변경하고 저장소로 이동하는 경향이 있습니다.) 적절한 위치에서 볼 수없는 Visual Studio 버그라고 생각합니다. 빌드가 올바른 규칙 집합을보고 있기 때문입니다. –
@MateuszMoska, ruleset 파일을 각 프로젝트에 복사하지 않으려면 .props 파일에서 경로를 변경하기 만하면되지만 .props 파일에서 경로가 올바른지 확인해야합니다. 샘플 테스트에서는 내 편이 잘 작동합니다. 업데이트 된 답변을 자세히 확인할 수 있습니다. –
@MateuszMoska,이 호에 대한 모든 업데이트가 있습니까? 문제를 해결 했습니까? 그렇지 않은 경우이 문제에 대한 최신 상태를 알려 주시기 바랍니다. –