我在 .NET \ C#(我来自Java)中是个新手,并且我有以下疑问。
在我的解决方案中,我有一个项目应该是SharePoint作业,在我的解决方案资源管理器中是这样的:
我知道此项目已部署为SharePoint作业,并且运行良好。
现在,我需要手动执行某种与此作业相关的特定操作。因此,我的想法是在该项目中创建此 MigrateAttachments 类,并在此处放置 Main()方法,然后仅将该类作为脚本执行:
namespace XXXMigrationJob
{
class MigrateAttachments
{
static void Main(string[] args)
{
Debug.Print("MigrateAttachments Main() START");
Debug.Print("MigrateAttachments Main() END");
}
}
}
但是在我看来,我无法将此Main()方法作为独立方法执行,唯一的方法是创建一个全新的 Console Application 项目,该项目将包含这个班。
是真的还是我缺少什么,可以在我的XXXMigrationJob项目中手动运行 MigrateAttachements Main()方法吗?
答案 0 :(得分:1)
不,您不能真正执行该操作。它将在DLL中而不是exe中。您需要以某种方式进行引导。
我将可重用代码重构到类库中。然后创建您提到的控制台应用程序。引用可重用的类库并调用它。
但是,如果您不想创建控制台应用程序,那么NineBerry插入的链接将讨论使用PowerShell和Reflection调用.net代码。
答案 1 :(得分:-1)
在C#应用程序中,我们可以有多个Main
方法,但是只有其中一个具有有效Main
签名的方法可以被视为Startup
或应用程序的入口点。
如果您有工作,这是一个控制台应用程序。您需要转到Program
类中,找到一个Main()
方法,然后在其中执行所有Debug方法。