- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
到目前为止,我已经看到两个帖子与我的问题有关。我想知道如何将 EnvDTE.Project 转换为 VCProject。
在this post , fun4jimmy 的回答恰好在以下代码行中做到了这一点(取自他的回答):
VCProject vcProject = project.Object as VCProject;
我尝试在我的解决方案中做同样的事情:
using EnvDTE;
using Microsoft.VisualStudio.VCProjectEngine;
[...]
private List<string> BuildAssembliesAndReturnTheirName(EnvDTE80.DTE2 dte)
{
Solution sln = dte.Solution;
bool isDirty = false;
foreach (Project project in sln.Projects)
{
VCProject vcProject = project.Object as VCProject;
Configuration activeConfiguration = project.ConfigurationManager.ActiveConfiguration;
foreach (VCConfiguration vcConfiguration in vcProject.Configurations)
{
//business logic
}
}
[...]
解决方案在 VS 中打开。该解决方案包含一些 C# 项目。一切似乎都是为了让这段代码执行,直到我到达
foreach (VCConfiguration vcConfiguration in vcProject.Configurations)
才意识到这个 Actor
VCProject vcProject = project.Object as VCProject;
返回空值。
谁能告诉我这是为什么?我看过this post hveiras 建议
There is a VCCodeModel.dll for each VS version.
如果 VCProjectEngine.dll 也是这种情况,我该如何解决我的问题?
我已经更改了对 VCProjectEngine.dll 的引用,以便它使用 Visual Studio 2012(我正在使用的)的引用,但 vcProject
仍然为空。
最佳答案
VCProject 用于 C++ 项目,为了使用与 C#/VB 项目类似的界面,您必须使用 VSProject .
有许多 VSLangProj
重载/扩展,您必须找到特定于您需要使用的版本的那个。请参阅:https://msdn.microsoft.com/en-us/library/1xt0ezx9.aspx对于从 2 到 100 的所有 VSLangProj 接口(interface)(我认为那是版本 2 到版本 10)。
关于c# - 可以将 EnvDTE.Project 转换为 VCProject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29951353/
到目前为止,我已经看到两个帖子与我的问题有关。我想知道如何将 EnvDTE.Project 转换为 VCProject。 在this post , fun4jimmy 的回答恰好在以下代码行中做到了这
所以我有一个 visual studio 2008 项目设置用于我一直在处理的项目,但是它是一个相当大的跨平台代码库的子项目,所以为了让我的项目与我需要的主要来源投诉使我的项目 nix 可编译。 有什
我正在尝试通过代码获取有关 c+= 程序的一些信息。我在 EnvDTE 上取得了一些成功,现在我需要使用 VCProject 和 VCCodeModel,但我遇到了转换问题(希望这就是全部......
我是一名优秀的程序员,十分优秀!