.NET 4.6 프로젝트를 .NET Core 2.0으로 업그레이드 할 때 문제가 발생했습니다. 우리의 모든 프로젝트는 NuGet 패키지가 제공하는 사용자 정의 StyleCop 룰 세트를 사용합니다. ruleset은 custom.ruleset이라는 파일에 있으며 패키지 내부의 content 폴더에 있습니다. 모든 프로젝트에서이 패키지를 사용하므로 custom.ruleset의 사본을 얻습니다.NuGet을 통해 .net 핵심 프로젝트에 코드 분석 룰 세트 제공
그러나 Core 2.0 및 Standard 2.0 프로젝트에서는이 기능이 작동하지 않습니다. 파일은 더 이상 패키지의 내용 폴더에서 복사되지 않으며 대신 contentFiles 폴더를 사용해야합니다.
<?xml version="1.0" encoding="utf-8" ?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<version>1.0.11</version>
<metadata>
...
<contentFiles>
<files include="content\*.ruleset" buildAction="None" copyToOutput="false" flatten="true"/>
</contentFiles>
</metadata>
<files>
<file src="content\**" target="contentFiles/any/any" />
</files>
</package>
규칙 집합이 프로젝트에서 Visual Studio에서 나타나는 이러한 구조에서
하지만 <CodeAnalysisRuleSet>custom.ruleset</CodeAnalysisRuleSet>
가 자동으로 실패와 프로젝트의 .csproj 파일에서 그것을 참조하려고하고 :
는 지금과 같이 보이는 nuspec이 기본 룰 세트 사용으로 복귀합니다. 난 <CodeAnalysisRuleSet>$(NuGetPackageRoot)CustomRuleset\1.0.11\contentFiles\any\any\custom.ruleset</CodeAnalysisRuleSet>
을 추가하여 작동하도록 할 수 있지만 이것은 csproj가 룰셋이 바뀔 때마다 업데이트해야 함을 의미하므로 수동 프로세스 일 수도 있습니다. 어떤 아이디어가 이것을 고치는 방법?
고마워요! 완벽하게 작동했습니다. – Meeji