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

如何控制.NET服务引用的文件名?,.net,windows,visual-studio-2010,namespaces,service-reference,.net,Windows,Visual Studio 2010,Namespaces,Service Reference,Windows的路径限制为259个字符。不幸的是,由于我们的一些服务引用名称,这开始给我们带来问题 例如,我们的TFS分支具有一条已经很长的路径,而.NET服务引用几乎是这条路径的两倍,因为它们总是使用完全限定的命名空间作为文件名: Some.Really.Long.Fully.Qualified.Namespace.Service.Reference.Name.datasource 抱歉,您不能更改服务引用的名称,但我认为我错了。这能做到吗 如果没有,是否有其他可能的解决办法来解决这个恼人的问

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

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

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

抱歉,您不能更改服务引用的名称,但我认为我错了。这能做到吗

如果没有,是否有其他可能的解决办法来解决这个恼人的问题

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

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

TF205022:以下路径包含的字符超过了允许的259个: [C:\Some-really-long-259-character-path-here]


259?事实上,NTFS限制为32 k,但Windows资源管理器限制为“256”,某些Windows API允许创建和处理更长的路径,达到NTFS~32k的实际限制,适当的功率为2,但大多数软件并不真正使用这些本机API

请参见此处:


一种可能是使用Sys Internals中的junction工具,将长分支路径直接连接到C#中更短的路径,然后一切都应该正常工作,因为我认为您只会使用相对路径。

结果是,这些.datasource文件可以删除,因为他们不需要建立项目。所以我们只是扫描了TFS中的所有.datasource文件,并删除了它们


更多信息。

感谢您的回复。你是对的,限制是256。我被来自TFS的错误误导了(参见上面的更新),好像它最多允许259个字符。