我有一个netstandard2类库项目,其中包含一些Roslyn分析器。我正在尝试使用.nuspec
和msbuild \t:pack
命令创建NuGet包。所有工作找到,我可以轻松创建nuget包。但是一旦我在另一个项目上安装包后再注册我的分析器,我的包中的每个分析器都会出现以下错误:
An instance of analyzer [AnalyzerName] cannot be created from [AnalyzerDllFile]: Could not load file or assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The system cannot find the file specified
这是.nuspec文件:
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
<metadata>
<id>[PackageId]</id>
<version>1.0.9</version>
<authors>Ali</authors>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>test</description>
<!-- Solution A i found -->
<dependencies>
<group targetFramework="net46">
<dependency id="NETStandard.Library" version="2.0.0" />
</group>
</dependencies>
<!-- Solution B i found -->
<references>
<reference file="netstandard.dll" />
</references>
</metadata>
<files>
<file src="bin\Debug\netstandard2.0\[PackageName].dll" target="analyzers\dotnet\cs" />
<file src="tools\*.ps1" target="tools\" />
</files>
</package>
我尝试了很多在互联网上找到的解决方案,但似乎我错过了其他的东西
仅供参考,两个项目都针对.Net Framework 4.6.1