我已经为我的通用项目(一个NuGet包)安装了AsyncUsageAnalyzers,并希望在所有依赖于它的软件包/应用程序中执行规则。
我已更改
我在https://dev59.com/PGIj5IYBdhLWcg3wb0rX#20271758上阅读到,我需要一个具有特定结构的NuGet包。这种说法在https://dev59.com/7qXja4cB1Zd3GeqPKwIK#46115423得到了确认。
现在我有:
build/Common.ruleset
在我的.csproj文件中
UseConfigureAwait
规则的严重性,并创建了.ruleset文件。我在https://dev59.com/PGIj5IYBdhLWcg3wb0rX#20271758上阅读到,我需要一个具有特定结构的NuGet包。这种说法在https://dev59.com/7qXja4cB1Zd3GeqPKwIK#46115423得到了确认。
现在我有:
build/Common.ruleset
<?xml version="1.0" encoding="utf-8"?>
<RuleSet Name="My common analyzer rules" Description="The rules that are enforced on all of my projects" ToolsVersion="10.0">
<Rules AnalyzerId="AsyncUsageAnalyzers" RuleNamespace="AsyncUsageAnalyzers">
<Rule Id="UseConfigureAwait" Action="Error" />
</Rules>
</RuleSet>
build/My.Package.Id.targets
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<CodeAnalysisRuleSet>$(MSBuildThisFileDirectory)Common.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
</Project>
在我的.csproj文件中
<Import Project="build\My.Package.Id.targets" />
我的问题是:我已经完成了这个步骤,并且规则已经正确应用于我的项目,但是如何将位于build/
下的文件添加到NuGet包中,在build/
文件夹内? 我知道可以使用.nuspec文件来实现,但我想使用新的.csproj语法来实现。
<None Update="…" Pack="true" … />
代替内容包含,并且不要为同一文件添加多个项,这可能会在更改或移动内容时使VS混淆。 - Martin Ullrich