我想找到Roslyn
方法的用法。我设法通过.cs
文件中的代码执行此操作。另外,我想分析解决方案中包含的JavaScript文件。我知道Roslyn无法分析JavaScript的语法或语义,所以我只想在所有textural occurrencies
文件中搜索我方法名称的.js
。
我检索所有文件(文件):
foreach (Project pr in solution.Projects)
{
foreach (Document doc in pr.Documents)
{
// my js-file is not included
}
}
但Documents
仅包含.cs
个文件。有没有办法获取.js
文件,或者我必须使用project.FilePath
获取文件夹并获取旧File API
的文件,这可能会导致问题,因为不一定所有文件都在该文件夹必须已添加到项目等。?
编辑:
此外AdditionalFiles
不包含任何文件。
答案 0 :(得分:2)
您需要使用Project.AdditionalDocuments
:
foreach (Project pr in solution.Projects) {
foreach (TextDocument doc in pr.AdditionalDocuments) {
// doc is a non-csharp TextDocument object.
}
}
要使用上述内容,您必须确保目标项目中的文件的构建操作设置为AdditionalFiles
。目前没有好方法在目标项目中使用此类型的构建操作生成文件,因此您目前仍然依赖于代码的用户手动创建文件的存根,为F4
命中文件属性并将其构建操作更改为AdditionalFiles
,之后您的扩展程序就可以将其提取。