Visual Studio 2017年扩展开发

Visual Studio 2017 Extension Development

您好,我想将我的扩展程序升级到 visual studio 2017,但我遇到了 Microsoft.VisualStudio.Shell.RegistrationAttribute 错误,但我已经添加了这个引用?我在编译时遇到了这个错误。是否有任何参考要添加或其他?对此有何评论?

D:\Visual Studio 2017\VSSDK\VisualStudioIntegration\Common\Assemblies\v4.0\Microsoft.VisualStudio.Shell.Immutable.10.0.dll ,version :10.0.0.0

我的错误是

Severity    Code    Description Project File    Line    Suppression State
Error       CreatePkgDef : error : ArgumentException: No Visual Studio registration attribute found in this assembly.           
Severity    Code    Description Project File    Line    Suppression State
Error       The assembly should contain an instance of the attribute 'Microsoft.VisualStudio.Shell.RegistrationAttribute' defined in assembly 'Microsoft.VisualStudio.Shell.Immutable.10.0' version '10.0.0.0'  
Severity    Code    Description Project File    Line    Suppression State
Error       at Microsoft.VisualStudio.Tools.CreatePkgDef.ProcessAssembly(String fileName, Hive hive, PkgDefContext context, Boolean register, RegistrationMode mode) in f:\dd\src\vssdk\VSIntegration\Tools\src\CreatePkgDef\CreatePkgDef.cs:line 303

最后我找到了解决方案,我删除了 Microsoft.VisualStudio.**** 的所有引用,之后我在 visual studio 2017 中添加了我的项目一个新的 vsix,那时我从nuget 和我的项目现在正在编译。

在 csproj 文件中将 GeneratePkgDefFile 添加为 false,如下所示

<GeneratePkgDefFile>false</GeneratePkgDefFile>