当试图添加对VSIX的引用时,它通常将其从.csproj中的引用中拉出。 但是,如果引用不在.csproj中,因为它们现在位于project.json文件中,那么它们不会被拉到vsix。 解决scheme然后可以编译,但是当安装到Visual Studio中(因为不复制到VSIX的程序集),扩展失败,出现“文件未find”错误。 我尝试了清单的部分,如下所示: <Asset Type="Microsoft.VisualStudio.Assembly" d:Source="Project" d:ProjectName="*PROJECTNAME*" Path="|*ASSEMBLYNAME*|" AssemblyName="|*ASSEMBLYNAME*;AssemblyName|" /> 但它不起作用,因为它不能识别软件包引用。 经过一番研究,我看到了一个与PCL类似的问题,但是,没有一个答案,也没有相同types的问题: 使用Microsoft组合MEF的可移植类库MEF2抛出文件没有findexception 在同样的说明中,这似乎是一个可以接受的解决方法:但是,就我所知,这意味着在安装过程中使用该软件包。 除此之外,它不适用于我们的情况,因为他们需要指定包版本,我们正在使用project.json,所以我们可以使用浮动版本(即:2.0。*) 有没有办法引用我们失踪的这个project.json引用? 也许是一个解决方法? 我发现的解决scheme似乎都需要在某处“粘贴”de DLL,这对于浮动版本来说并不方便。 提前感谢任何帮助或input。 编辑/更新 :由于VSIX自动推送在CSPROJ(而不是项目本身)中引用的任何程序集,试图获得在项目级别的DLL似乎不太可能。 经过多次尝试,我认为有效的解决方法是从输出文件夹中获取程序集。 然而,据我所知,VSIX没有办法做到这一点,或者呢?