我有一个非常简单的程序:
using System;
using System.Windows.Forms;
using System.Text;
using System.IO;
namespace NS
{
class Program
{
[STAThread]
static void Main(string[] args)
{
try
{
Console.SetIn(new StreamReader(Console.OpenStandardInput(2000)));
//get some content using Console.ReadLine() and prompting using Console.WriteLine();
string HTML =
string.Format(@"HTML redacted", someFormatString, w/e);
Clipboard.SetText(HTML);
Console.ReadKey(true);
string JS = string.Format(@"JS redacted", someFormatString, w/e);
Clipboard.SetText(JS);
Console.WriteLine("Press any key to continue...");
Console.ReadKey(true);
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
}
}
}
旁注:是的,我知道在 Main 周围包装 try/catch 不是首选,但我现在需要它来进行调试。
我引用了所有正确的程序集,这是 csproj 中的程序集引用:
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
但是,当我尝试从资源管理器加载它时,它会出现 0xc000142。不过我不知道是什么意思。
不过,如果我从 CMD 加载它,效果会很好。
有任何想法吗?我尝试添加引用,更改为 System.Windows Clipboard 类,创建一个新项目并复制代码,但没有任何效果。
编辑:因为这似乎并不清楚:这是一个控制台应用程序,碰巧需要在表格中使用剪贴板类。这不是成为表单/CLI 应用程序的尝试。