Какая сборка мне нужна для "windowsinput"? C# .NET
У меня есть этот простой компилятор, в котором я могу компилировать консольные приложения C#..
И когда я пытаюсь скомпилировать этот код
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WindowsInput; using System.Windows.Forms; namespace ScreenshotConsole { class Program { static void Main(string[] args) { screenshot(); Console.WriteLine("Printescreened"); Console.ReadLine(); } static void screenshot() { SendKeys.SendWait("{PRTSC}"); } } }
Он выдает мне эту ошибку
The type or namespace name 'WindowsInput' could not be found (are you missing a using directive or an assembly reference?)
Я уже добавил
parameters.ReferencedAssemblies.Add("System.dll");
И, насколько я знаю, это должна быть единственная необходимая библиотека dll.
Исходный код компилятора.
using Microsoft.CSharp; using System.CodeDom.Compiler; using System.Collections.Generic; using System.Linq; using System.Windows; using System.Windows.Forms; namespace SimpleBuilder { /// <summary> /// Interaction logic for MainWindow.xaml /// store code /// select what features /// print out textfile with all the code from the features /// compile that textfileContent to a exe /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void fakeMessageOne() { if(fakeMessageCheckbox.IsChecked == true) { fakeMessage1 fkmsg = new fakeMessage1(); fkmsg.fakeMessage(); } } private void button_Click(object sender, RoutedEventArgs e) { CSharpCodeProvider csc = new CSharpCodeProvider(new Dictionary<string, string>() { { "CompilerVersion", frameworkTextbox.Text } }); CompilerParameters parameters = new CompilerParameters(new[] { "mscorlib.dll", "System.Core.dll" }, outputTextbox.Text, true); parameters.GenerateExecutable = true; parameters.ReferencedAssemblies.Add("Microsoft.CSharp.dll"); parameters.ReferencedAssemblies.Add("System.dll"); parameters.ReferencedAssemblies.Add("System.Windows.Forms.dll"); parameters.ReferencedAssemblies.Add("System.Management.dll"); parameters.ReferencedAssemblies.Add("WPF\\PresentationFramework.dll"); parameters.ReferencedAssemblies.Add("System.Xaml.dll"); parameters.ReferencedAssemblies.Add("WPF\\WindowsBase.dll"); parameters.ReferencedAssemblies.Add("WPF\\PresentationCore.dll"); CompilerResults result = csc.CompileAssemblyFromSource(parameters, sourceTextbox.Text); if (result.Errors.HasErrors) { result.Errors.Cast<CompilerError>().ToList().ForEach(error => errorTextbox.Text += error.ErrorText + "\r\n"); } else { errorTextbox.Text = "--- Build Succeeded! ---"; } } private void button1_Click(object sender, RoutedEventArgs e) { Builder bldr = new Builder(); bldr.Visible = true; } } }
Что я уже пробовал:
Я пробовал читать и спрашивать об этом, но там ничего не помогало.