isp*_*iro 12 .net c# wpf .net-4.6.2 .net-4.7
我已Enable Win32 Long Paths在本地组策略编辑器中设置Enabled并重新启动计算机.
这是代码:
string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
for (int i = 0; i < 10; i++)
path += "\\" + new string('z', 200);
Directory.CreateDirectory(path);
Run Code Online (Sandbox Code Playgroud)
我收到错误:
System.IO.DirectoryNotFoundException:'无法找到路径的一部分'C:\ Users ...\Desktop\zzzzzzzzzz ...
(这实际上是一个奇怪的错误信息.)
app.config已经有:
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7" />
Run Code Online (Sandbox Code Playgroud)
更多信息(可能不重要)
我尝试在app.config下的这篇文章和其他地方提到添加(虽然在使用.net 4.7时不需要注释中指出)configuration:
<runtime>
<AppContextSwitchOverrides value="Switch.System.IO.UseLegacyPathHandling=false;Switch.System.IO.BlockLongPaths=false" />
</runtime>
Run Code Online (Sandbox Code Playgroud)
还是一样的错误.
如果我只使用一个zzzzzz...它在桌面上创建它没有错误.
我正在使用VS2017,Windows 10.我尝试了Winforms和WPF.
小智 15
周年纪念更新(RS1)有一个错误,允许长路径在没有清单的情况下工作.对于任何更新的窗口,您必须将Application Manifest File项添加到项目中.否则它将无法工作.
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
</windowsSettings>
</application>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2752 次 |
| 最近记录: |