c# - 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 依赖项,就像您期望的那样,我只是不知道如何或在哪里实现这一点。
提前致谢。
解决方案
我发现如果你使用 vsixmanifest 文件添加资产,并给它一个子文件夹,它不会被正确打包。文件将被正确复制,但对 dll 的引用不正确,因此您会收到“找不到 dll”异常。一般来说,vsixmanifest 设计器似乎充满了怪癖,您需要编辑 xml 代码以确保正确设置值。
推荐阅读
- reverse-engineering - 在 Frida 拦截方法中读取结构/对象的值
- mysql - 如何将 Drupal 8 站点移动到新服务器?
- python - asyncio/aiohttp - create_task() 阻止事件循环,在“此事件循环已在运行”中收集结果
- javascript - 为什么在 setInterval 内更新的打字稿类的字段在该类的其他方法中未定义?
- python - Python:如何让这个函数同时运行多次
- php - 如何解析这个 XML 数据..?
- typescript - TS2322:“T”可以用与“SuperClass”无关的任意类型实例化
- ruby-on-rails - Rails 返回 HTML,即使设置了 `application/json` 和 `.json` 添加到资源
- reactjs - cypress 文件夹外的 mocha、chai 和 cy 的打字稿自动完成
- node.js - 快速响应 URL