无法 运行 使用 CommandLineParser 包进行编程
Unable to Run Program Using CommandLineParser Package
我正在尝试使用 CommandLineParser
:
向我的应用程序添加一些命令行参数
using CommandLine;
using System;
namespace ConsoleApplication1
{
class Options
{
[Option('s', "site", Required = true,
HelpText = "The site to connect to. Please include http://")]
public string sitename { get; set; }
[Option('l', "list", Required = true,
HelpText = "The list to connect to.")]
public string listname { get; set; }
}
class Program
{
static void Main(string[] args)
{
var options = new Options();
Parser.Default.ParseArguments(args, options);
Console.WriteLine(options.sitename);
Console.WriteLine("\n");
Console.WriteLine(options.listname);
}
}
}
但是,当我尝试从 CMD 调用它时:
test -s sitename -l listname
我收到这个错误:
Unhandled Exception: System.IO.FieNotFoundEsxcepion: Could not load file or assembly 'CommandLine, Version=1.9.71.2, Culture=neutral, PublicKeytoken=de6f01bd326f8c32', or one of its dependancies. The system cannot find the file specified. at ConsoleApplication1.Program.Main(String[] args)
我已经安装了 CommandLineParser 包,我可以在我的参考列表中看到它。当我导航到此文件夹时:\file\IT\SK\Visual Studio Projects\ConsoleApplication1\packages\CommandLineParser.1.9.71\lib\net40
我可以看到有一个 CommanLine.dll
和一个 CommandLine.xml
.
有人可以向我解释一下这是怎么回事吗?
更新
如果我禁用 ClickOnce 安全设置,我可以使用 Visual Studio 中的命令行 运行,并且它工作正常。但是,当我发布应用程序时,它被自动选中并且问题仍然存在。
使用命令行参数调试并启用 ClickOnce 安全时,args[] 为空 ...
bin输出文件夹中是否也有dll?如果不是,请检查引用的属性并检查 "copy local" 是否为真。
这是一项安全功能。您的可执行文件驻留在网络上,不受信任,无法访问其他网络资源。
我敢打赌,如果您将所有内容都复制到本地文件夹,它会起作用。
我正在尝试使用 CommandLineParser
:
using CommandLine;
using System;
namespace ConsoleApplication1
{
class Options
{
[Option('s', "site", Required = true,
HelpText = "The site to connect to. Please include http://")]
public string sitename { get; set; }
[Option('l', "list", Required = true,
HelpText = "The list to connect to.")]
public string listname { get; set; }
}
class Program
{
static void Main(string[] args)
{
var options = new Options();
Parser.Default.ParseArguments(args, options);
Console.WriteLine(options.sitename);
Console.WriteLine("\n");
Console.WriteLine(options.listname);
}
}
}
但是,当我尝试从 CMD 调用它时:
test -s sitename -l listname
我收到这个错误:
Unhandled Exception: System.IO.FieNotFoundEsxcepion: Could not load file or assembly 'CommandLine, Version=1.9.71.2, Culture=neutral, PublicKeytoken=de6f01bd326f8c32', or one of its dependancies. The system cannot find the file specified. at ConsoleApplication1.Program.Main(String[] args)
我已经安装了 CommandLineParser 包,我可以在我的参考列表中看到它。当我导航到此文件夹时:\file\IT\SK\Visual Studio Projects\ConsoleApplication1\packages\CommandLineParser.1.9.71\lib\net40
我可以看到有一个 CommanLine.dll
和一个 CommandLine.xml
.
有人可以向我解释一下这是怎么回事吗?
更新
如果我禁用 ClickOnce 安全设置,我可以使用 Visual Studio 中的命令行 运行,并且它工作正常。但是,当我发布应用程序时,它被自动选中并且问题仍然存在。
使用命令行参数调试并启用 ClickOnce 安全时,args[] 为空 ...
bin输出文件夹中是否也有dll?如果不是,请检查引用的属性并检查 "copy local" 是否为真。
这是一项安全功能。您的可执行文件驻留在网络上,不受信任,无法访问其他网络资源。 我敢打赌,如果您将所有内容都复制到本地文件夹,它会起作用。