Po uaktualnieniu projektu WinForms VS2013 do wersji VS2015, zacząłem wyświetlać ostrzeżenie MSB3884 "Nie można znaleźć pliku zestawu reguł".VS2015: ostrzeżenie MSB3884: Nie można znaleźć pliku zestawu reguł
Po wyszukiwaniu Google pojawił się jeden artykuł MSDN, na który wskazuje artykuł przepełnienia stosu, a także wiele innych witryn.
podobne pytanie: 33020507 MSDN: VS2015 MSB3884 Warning
Mam VS2013 i VS2015 zarówno zainstalowany.
Pliki projektu zawierające ostrzeżenia (i te, które tego nie robią), nie mają tych wpisów.
<CodeAnalysisRuleSetDirectories>
<CodeAnalysisRuleDirectories>
Jeśli usunę dwa pozostałe wpisy z pliku projektu, problem zniknie, co jest oczywiste, ponieważ nie ma zestawu plików reguł.
<CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisIgnoreBuiltInRules>
Próbuję budować zewnętrznie za pomocą msbuild, jednak VS2015 ma tendencję do pokazywania problemu.
Co ciekawe, jeśli kliknę przycisk Otwórz w obszarze Właściwości analizatora kodu, otrzymam plik.
Określenie innego zestawu reguł nie ma znaczenia. To sprawia, że myślę, że możliwe jest ustawienie zmiennej środowiskowej, a nie takie, jakie przychodzą na myśl. Code Analyzers jest funkcją pliku projektu. Mogę dodać atrybut katalogu, ale konsensus polega na wyjęciu ścieżek, <CodeAnalysisRule*Directories>
.
GUI używa domyślnych:
Oto typowy fragment pliku projektu.
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
<Prefer32Bit>false</Prefer32Bit>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<CodeAnalysisRuleSet>BasicCorrectnessRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
</PropertyGroup>
Bez pozbycia linii Code Analysis z pliku projektu, choć ponownie zapisywania pliku projektu po prostu dodać go z powrotem, w jaki sposób można wyeliminować/naprawić ostrzeżenie?
Możliwy duplikat [VS2015 MSB3884 ostrzeżenia: Nie można odnaleźć zestawu reguł plik] (http://stackoverflow.com/questions/33020507/vs2015-msb3884-warning-could-not-find-rule- set-file) – timB33
@ timB33 Różnica między tymi dwoma pytaniami polega na tym, że w tym przypadku katalogi nie są jawnie ustawione w pliku .csproj. –