3

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

4

2 回答 2

3

在 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/

于 2016-12-29T11:49:51.237 回答
2

Roslyn 包含在 Visual Studio 中;您不应在 VSIX 中包含 Roslyn DLL。

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

于 2016-12-29T14:28:45.043 回答