c# - 谁能解释 VDPROJ 文件的主要特征?

标签 c# .net visual-studio configuration vdproj

我确定 MSDN 上一定有一些文档,但我找不到。它看起来像 JSON 的一些子集/变体。真的,这个问题源于一直困扰我的问题:所有 8:3: 是什么意思?这是某种版本号吗?也许是打字方案?我见过的每个 VDPROJ 摘录都充满了这些“八冒号”和“三冒号”前缀,但这并不是搜索引擎真正擅长的问题。

"DeployProject"
{
"VSVersion" = "3:800"
"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}"
"IsWebType" = "8:FALSE"
"ProjectName" = "8:ProjectNameRedacted"
"LanguageId" = "3:1033"
"CodePage" = "3:1252"
"UILanguageId" = "3:1033"
"SccProjectName" = "8:"
"SccLocalPath" = "8:"
"SccAuxPath" = "8:"
"SccProvider" = "8:"
    "Hierarchy"
    {
        "Entry"
        {
        "MsmKey" = "8:_02F97BB7BD104F1AAA1C97C854D5DC99"
        "OwnerKey" = "8:_UNDEFINED"
        "MsmSig" = "8:_UNDEFINED"
        }
...

如果有人只是想痛斥我可怜的 Google-fu,那也没关系。

最佳答案

作为@R。 Matveev 指出,前缀数字可能表示存储在属性中的数据类型。这在将文件反序列化为对象结构时很有用。

我怀疑 Visual Studio 用来读取/写入文件的源代码曾经是开源的,所以网络搜索一无所获也就不足为奇了。

我能找到的最好的是这个关于 OLE 自动化数据类型的页面,它可能不是实际的常量,但数据类型似乎与 *.vdproj 文件中的值匹配。

2.2.7 VARIANT Type Constants

typedef  enum tagVARENUM
 {
   VT_EMPTY = 0x0000,
   VT_NULL = 0x0001,
   VT_I2 = 0x0002,
   VT_I4 = 0x0003, // 4-byte signed integer
   VT_R4 = 0x0004,
   VT_R8 = 0x0005,
   VT_CY = 0x0006,
   VT_DATE = 0x0007,
   VT_BSTR = 0x0008, // BSTR (string data)
   VT_DISPATCH = 0x0009,
   VT_ERROR = 0x000A,
   VT_BOOL = 0x000B, // Boolean value
   VT_VARIANT = 0x000C,
   VT_UNKNOWN = 0x000D
   ...
 } VARENUM;

关于c# - 谁能解释 VDPROJ 文件的主要特征?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10886029/

相关文章:

c# - 当对象是 Task<Something> 时获取 Func<object> 的结果

.net - 更改面板的 CSSclass

.net - 适用于 Windows 7 的 Epson OPOS ADK for .NET 驱动程序

c# - 缺少 Nuget.targets

c# - 如何仅将 css/script 添加到局部 View ?

c# - 在长时间操作期间抽取 Windows 消息?

c# - 接口(interface) : Setter without a Getter

C# BackgroundWorker 和调用

.net - 使用 Visual Studio 2013 进行代码审查

visual-studio - 如何为支持嵌入式代码片段的模板或标记语言编写 Visual Studio 扩展