Visual Studio 2015包扩展,引用的DLL未复制

时间:2016-12-29 07:06:10

标签: roslyn visual-studio-extensions roslyn-code-analysis microsoft.codeanalysis

您好我在我的vs2015扩展程序中使用了roslyn Microsoft.CodeAnalysis.Csharp dll,我将我的visual studio扩展项目升级到2013年到2015年的visual studio。但是当我想安装扩展时,只有My roslyn dll没有被复制。我的目标框架仍然是相同的(.net 4.5.0)。我检查nuget.org到新的roslyn dll,支持的版本看起来一样。我尝试升级我的roslyn版本,但结果是一样的。 如果我手动复制到扩展路径roslyn dlls那时myextension正在工作。 有什么想法吗?

2 个答案:

答案 0 :(得分:2)

在visual studio 2015中,vsix将一些像Microsoft.CodeAnalysis.dll这样的dll没有复制到扩展路径。你可以添加

<ForceIncludeInVSIX>true</ForceIncludeInVSIX>
参考标记内的

标记,如。

<Reference Include="Microsoft.CodeAnalysis.dll, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
      <ForceIncludeInVSIX>true</ForceIncludeInVSIX>
</Reference>

有关详细信息,您可以查看此网站... http://comealive.io/Forcing-DLLs-To-Vsix/

答案 1 :(得分:2)

Roslyn包含在Visual Studio中;你不应该在你的VSIX中包含Roslyn DLL。

如果这样做,加载DLL的不同副本可能会遇到很多奇怪的错误。