【发布时间】:2019-12-24 19:15:37
【问题描述】:
创建一个新文件夹
string newFolder = Globals.applicationPath + @"BatchHistory\Batch" + DateTime.Now.ToString("M/d/yyyy HHmmss") + @"\";
在开发 PC 中一切正常,文件夹命名为:“Batch12-23-2019 181504”
将控制台应用程序部署到服务器时,文件夹名称显示为“Batch12”
有什么线索吗?
侧面细节:
- .net 框架 4.7.2
- 输出类型:控制台应用
- 本地开发环境:Win10
- 部署的环境:WinSrv 2016
问题实际上是部署位置的文化设置。
【问题讨论】:
-
文件夹名称不能包含某些字符,例如斜线变体。使用破折号获取
Batch12-23-2019 -
/是文件夹名称中的无效字符。使用"M-d-yyyy-HHmmss"。 -
检查两台计算机控制面板中的区域设置并进行比较。
-
DateTime.Now.ToString("M/d/yyyy HHmmss") 是一个格式化程序,输出为 12-23-2019 181504,我在 tostring 方法中使用“-”进行了测试,但相同问题出现
标签: c# .net datetime formatting console-application