我刚刚从另一家公司接手了一堆 C# 代码,但在第一次构建工作时遇到了很大的麻烦。问题似乎是一个名为“Topshelf”的框架使用的一些 Lambda 语法。如果这是基本知识,我很抱歉,但我对 Microsoft 编程相当陌生,不知道如何解决这个问题。
问题归结为一个静态类,处理应用程序中的所有服务。
这是关于如何配置的 Topshelf 文档:http: //docs.topshelf-project.com/en/latest/configuration/quickstart.html
这是实际配置的代码(其中一些,但应该提供图片):
public static void Main (string[] args)
{
XmlConfigurator.Configure ();
HostFactory.Run (
x =>
{
x.Service<InvoiceGenerator>(
s => {
s.SetServiceName("NAME");
s.ConstructUsing(name => new InvoiceGenerator());
s.WhenStarted(ser => ser.Start());
s.WhenStopped(ser => ser.Stop());
}
);
}
}
}
但是当这样做时,Visual Studio 会抱怨每一行代码。错误包括:
Delegate 'System.Func<Tools.Services.InvoiceGenerator>' does not take 1 arguments
Not all code paths return a value in lambda expression of type 'System.Func<Tools.Services.InvoiceGenerator>'
我 100% 确定,这是 Visual Studio 方面的某种解释问题,因为代码是实时 atm。我只是无法在VS中构建它。
你们有谁知道我错过了什么,或者做错了什么?记住; 该代码正在工作并且可以使用atm。
先感谢您。