我正在尝试使用一个拥有少量Roslyn Code Analyzers的大型开源项目.当我打开解决方案时,Visual Studio使用~35%的CPU大约15分钟.使用PerfView我发现在解决方案上运行的代码分析器正在使Visual Studio陷入困境.
我知道可以在每个项目的基础上禁用分析器,但是这个解决方案包含100多个项目,所以我不想一个接一个地执行此操作.
我的问题:
我正在创建一个多平台应用程序.我有一个多目标共享库(目标.netstandard 2.0和.net 4.5)...请参阅项目文件:
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net45</TargetFrameworks>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
当我在Windows上的visual studio 2017中构建项目时,我在输出中有两个目录(netstandard2.0,net45)和相应的dll.构建是成功的.
当我在Mac上的visual studio 2017中构建完全相同的项目(相同的代码)时,我得到了这种性质的错误:
类型'OptionAttribute'存在于'CommandLine.DotNetStandard,Version = 1.0.30'和'CommandLine,Version = 1.9.71.2'中
我通过以下方式有条件地引用了命令行解析器库:
<!-- CommandLineParser library -->
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
<PackageReference Include="CommandLine.DotNetStandard">
<Version>1.0.3</Version>
</PackageReference>
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net45'">
<PackageReference Include="CommandLineParser">
<Version>1.9.71</Version>
</PackageReference>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
这适用于Windows,但在Mac上它似乎没有观察到这种情况.这是mac上visual studio的已知错误吗?难道我做错了什么?
msbuild multitargeting nuget-package msbuild-projectreference visual-studio-mac