如何控制.NET服务引用的文件名?

时间:2011-09-01 14:50:39

标签: .net windows visual-studio-2010 namespaces service-reference

Windows在路径中限制为259个字符。不幸的是,由于我们的一些服务引用名称,这开始给我们带来问题。

例如,我们的TFS分支具有已经很长的路径,然后.NET服务引用几乎加倍,因为它们总是使用完全限定的命名空间作为文件名:

  

Some.Really.Long.Fully.Qualified.Namespace.Service.Reference.Name.datasource

AFAIK,你不能改变服务引用的名称 - 但是我错了。可以这样做吗?

如果没有,这个恼人的问题还有其他可行的解决办法吗?

编辑:另外,我知道一个明显的解决方案是缩短命名空间和/或路径,但假设在这种情况下我们不能这样做。 :)我主要是想弄清楚如何控制服务引用的文件名。

更新:我遇到的根本问题是TFS不允许我获取特定分支的最新信息。这是确切的错误:

  

TF205022:以下路径包含超过允许的259个字符:   [C:\一些-真长-259-字符路径此处]

2 个答案:

答案 0 :(得分:13)

事实证明,这些.datasource文件可以删除,因为它们不是构建项目所必需的。所以我们只是扫描了TFS中的所有.datasource文件,并删除了它们。

This article更多地讨论了这一点。

答案 1 :(得分:-1)

259?实际上是NTFS 32 k但Windows资源管理器限制为“256”,有一些Windows API允许创建和处理更长的路径,达到NTFS~32k的实际限制,2的适当功率,但大多数软件并没有真正使用那些原生的apis ......

见这里:Maximum filename length in NTFS (Windows XP and Windows Vista)?

可能的方法是使用 Sys Internals 中的工具,并将您的长分支路径直接连接到C#中更短的内容,所有内容都应该有效,因为您只会我想,使用相对路径。