首页 > 解决方案 > Visual Studio 扩展、dll 部署和锁定 [C#, VSIX]

问题描述

我需要CodeAnalysisCSharp在我的 VSIX 项目中使用的一些帮助。

我目前遇到的问题是安装扩展时没有“部署”必要的 dll。我不得不手动将这些文件复制/粘贴到C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE文件夹中,以使其“工作”。

System.Numerics.Vectors.dll
System.Runtime.CompilerServices.Unsafe.dll
System.Memory.dll
Microsoft.CodeAnalysis.dll
Microsoft.CodeAnalysis.CSharp.dll

我创建了一个扩展项目并添加了一个自定义命令。此命令应该能够使用CodeAnalysisCSharp导航 C# 文件的语法树。

我非常希望安装程序文件 (.vsix) 能够部署 dll 依赖项,就像您期望的那样,我只是不知道如何或在哪里实现这一点。

提前致谢。

标签: c#vsix

解决方案


我发现如果你使用 vsixmanifest 文件添加资产,并给它一个子文件夹,它不会被正确打包。文件将被正确复制,但对 dll 的引用不正确,因此您会收到“找不到 dll”异常。一般来说,vsixmanifest 设计器似乎充满了怪癖,您需要编辑 xml 代码以确保正确设置值。


推荐阅读