如何在没有项目或任何其他补充文件的情况下为引用的 .NET 程序集获取 IntelliSense?
How do I get IntelliSense for referenced .NET assembly without a project or any other supplemental file?
我正在寻找一种在独立代码文件中使用 IntelliSense 的方法。
用例
Fiddler 4 附带一个 C# 源文件 ({MyDocuments}\Fiddler2\Scripts\CustomRules.cs
),用于编写自定义流量路由规则。
建议使用 Fiddler 的 ScriptEditor、Visual Studio 或 Visual Studio 代码编辑该文件。
在任何这些编辑器中打开文件都不会为提供的事件处理程序参数提供代码完成。那是因为 IntelliSense 不知道从哪里获取对象的信息。
如果我不知道这些对象的属性或方法,就很难针对 Fiddler 的自定义对象进行编程。所以,我想知道如何为该文件启用 IntelliSense。
文件以对 Fiddler
程序集的引用开头:
using System;
using Fiddler;
...
由于 Fiddler.dll
程序集不在 GAC 中,IntelliSense 无法检索相应对象的信息。
假设
来自 JavaScript 我知道有一个可用的 reference
注释标记,它使 IntelliSense 能够通过提供指向包含缺失类型定义的 JavaScript 文件的路径来查找缺失的类型信息:
/// <reference path="Utilities.js" />
.NET 有类似的东西吗?
我会寻找类似的东西:
using System;
using Fiddler; /// <reference path="C:\Program Files\Telerik\Fiddler\Fiddler.dll" />
您必须添加对 Fiddler.exe 的引用。
编辑:我现在看到您想要一个适用于所有用例的通用解决方案。我只回答了如何让 Intellisense 为您的特定示例工作。如果没有帮助,我会删除这个答案。
Is there something similar available for .NET?
事实上,没有这样的工具可以在不实例化其对象或直接使用其命名空间的情况下获取.Net程序集的Intellisense。
.NET assmebly
不同于Javascript前端文件,有一个严密的封装,所以如果你的愿望能够实现,这是一个严肃的问题违反 .Net 规则。
正是由于这个原因,在.Net中,无法获得类似Javascript.
的Intellisense
而获取.Net程序集的Intellisense,其实是指dll。
这里不可能去掉项目引用Fiddler.dll
或者实例化它的对象,提取其中的Intellisense。这也是.net项目的安全考虑。
因此,获得 .Net 程序集智能感知的最佳解决方案是:
1)右击你的项目-->Add Reference
到这个Fiddler.dll
2) 在代码编辑器中使用其命名空间。
我正在寻找一种在独立代码文件中使用 IntelliSense 的方法。
用例
Fiddler 4 附带一个 C# 源文件 ({MyDocuments}\Fiddler2\Scripts\CustomRules.cs
),用于编写自定义流量路由规则。
建议使用 Fiddler 的 ScriptEditor、Visual Studio 或 Visual Studio 代码编辑该文件。
在任何这些编辑器中打开文件都不会为提供的事件处理程序参数提供代码完成。那是因为 IntelliSense 不知道从哪里获取对象的信息。
如果我不知道这些对象的属性或方法,就很难针对 Fiddler 的自定义对象进行编程。所以,我想知道如何为该文件启用 IntelliSense。
文件以对 Fiddler
程序集的引用开头:
using System;
using Fiddler;
...
由于 Fiddler.dll
程序集不在 GAC 中,IntelliSense 无法检索相应对象的信息。
假设
来自 JavaScript 我知道有一个可用的 reference
注释标记,它使 IntelliSense 能够通过提供指向包含缺失类型定义的 JavaScript 文件的路径来查找缺失的类型信息:
/// <reference path="Utilities.js" />
.NET 有类似的东西吗?
我会寻找类似的东西:
using System;
using Fiddler; /// <reference path="C:\Program Files\Telerik\Fiddler\Fiddler.dll" />
您必须添加对 Fiddler.exe 的引用。
编辑:我现在看到您想要一个适用于所有用例的通用解决方案。我只回答了如何让 Intellisense 为您的特定示例工作。如果没有帮助,我会删除这个答案。
Is there something similar available for .NET?
事实上,没有这样的工具可以在不实例化其对象或直接使用其命名空间的情况下获取.Net程序集的Intellisense。
.NET assmebly
不同于Javascript前端文件,有一个严密的封装,所以如果你的愿望能够实现,这是一个严肃的问题违反 .Net 规则。
正是由于这个原因,在.Net中,无法获得类似Javascript.
的Intellisense而获取.Net程序集的Intellisense,其实是指dll。
这里不可能去掉项目引用Fiddler.dll
或者实例化它的对象,提取其中的Intellisense。这也是.net项目的安全考虑。
因此,获得 .Net 程序集智能感知的最佳解决方案是:
1)右击你的项目-->Add Reference
到这个Fiddler.dll
2) 在代码编辑器中使用其命名空间。