Folder/Directory 在部署目标上创建
Folder/Directory Creation on Deployment Targets
我正在使用 Octopus Deploy 将一个小脚本部署到目标 PC,但该脚本没有在目标机器上生成新文件夹。我的代码有问题还是部署设置有问题?
using System;
using System.IO;
class FolderCreation
{
public static void Main()
{
string _basePath = @"c:\OD_Test";
try
{
string dateFolder = DateTime.Now.ToString("yyyy-MM-dd");
string path = $"{_basePath}\{dateFolder}";
System.IO.Directory.CreateDirectory(path);
}
catch (Exception ex)
{
Console.WriteLine("The process failed: {0}", ex.ToString());
}
}
}
首先,代码中可能存在很多问题。
理想情况下,当您post时,请post异常的详细信息。
我怀疑两件事:
- 您的父目录不存在,这就是您创建目录失败的原因。
- 代码没有在现有路径中创建目录的权限。
你可以通过catch 块中get 的异常类型知道这一点。
Directory.CreateDirectory 在不成功的情况下抛出以下异常:
IOException - path指定的目录是一个文件。
UnauthorizedAccessException - 调用者没有所需的权限。
ArgumentException - 路径是零长度字符串,仅包含白色 space,或包含一个或多个无效字符。您可以使用 GetInvalidPathChars() 方法查询无效字符。 OR 路径前缀为或仅包含冒号字符 (:)。
ArgumentNullException - 路径为空。
PathTooLongException - 指定的路径、文件名或两者都超过了系统定义的最大长度。
DirectoryNotFoundException - 指定的路径无效(例如,它位于未映射的驱动器上)。
NotSupportedException - 路径包含不属于驱动器标签 ("C:\") 的冒号字符 (:)。
注意:CreateDirectory 抛出的异常详情取自 documentation at MSDN.
Octopus Deploy 只允许接受脚本文件。我不是
应该创建一个 class 本身但只包含信息
在主要方法里面。可以使用OD的脚本添加功能
模块。
我正在使用 Octopus Deploy 将一个小脚本部署到目标 PC,但该脚本没有在目标机器上生成新文件夹。我的代码有问题还是部署设置有问题?
using System;
using System.IO;
class FolderCreation
{
public static void Main()
{
string _basePath = @"c:\OD_Test";
try
{
string dateFolder = DateTime.Now.ToString("yyyy-MM-dd");
string path = $"{_basePath}\{dateFolder}";
System.IO.Directory.CreateDirectory(path);
}
catch (Exception ex)
{
Console.WriteLine("The process failed: {0}", ex.ToString());
}
}
}
首先,代码中可能存在很多问题。 理想情况下,当您post时,请post异常的详细信息。
我怀疑两件事: - 您的父目录不存在,这就是您创建目录失败的原因。 - 代码没有在现有路径中创建目录的权限。
你可以通过catch 块中get 的异常类型知道这一点。 Directory.CreateDirectory 在不成功的情况下抛出以下异常:
IOException - path指定的目录是一个文件。
UnauthorizedAccessException - 调用者没有所需的权限。
ArgumentException - 路径是零长度字符串,仅包含白色 space,或包含一个或多个无效字符。您可以使用 GetInvalidPathChars() 方法查询无效字符。 OR 路径前缀为或仅包含冒号字符 (:)。
ArgumentNullException - 路径为空。
PathTooLongException - 指定的路径、文件名或两者都超过了系统定义的最大长度。
DirectoryNotFoundException - 指定的路径无效(例如,它位于未映射的驱动器上)。
NotSupportedException - 路径包含不属于驱动器标签 ("C:\") 的冒号字符 (:)。
注意:CreateDirectory 抛出的异常详情取自 documentation at MSDN.
Octopus Deploy 只允许接受脚本文件。我不是 应该创建一个 class 本身但只包含信息 在主要方法里面。可以使用OD的脚本添加功能 模块。