多くのソースを調べてみましたが、C# 開発者ではないため、何をする必要があるのか わかりません。私がこのプロジェクトを割り当てられた唯一の理由は、接続する必要がある Web サービスが明らかに C# でのみ互換性があるためです。ですから、このプロジェクトを成し遂げるために、私はただ学んでいます。そして、私たちの部門には誰もいません。C# を知っています。私は SSIS パッケージを構築しており、C# を使用して「スクリプト タスク」を実行しています。ツールが作成するscriptMain.csはこちら
using System;
using System.Data;
using Microsoft.SqlServer.Dts.Runtime;
using System.Windows.Forms;
using ST_3c3fd2f1b7404161b62ff2b81f12192c.ServiceClient;
namespace ST_3c3fd2f1b7404161b62ff2b81f12192c.csproj
{
[System.AddIn.AddIn("ScriptMain", Version = "1.0", Publisher = "", Description = "")]
public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
{
public void MainScript()
{
// TODO: Add your code here
Program.Main();//I AM TRYING TO MAKE THE CALL TO PROGRAM.cs file Main() method
Dts.TaskResult = (int)ScriptResults.Success;
}
}
}
この ScriptMain.cs は、SSIS を実行したときに実行されるファイルだと思います。だから私は上から scriptMain.cs (Program.Main()) から以下のファイル Program.cs への呼び出しを試みています:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ST_3c3fd2f1b7404161b62ff2b81f12192c.ServiceClient;
using ST_3c3fd2f1b7404161b62ff2b81f12192c.csproj;
namespace ST_3c3fd2f1b7404161b62ff2b81f12192c
{
class Program
{
static void Main()//Trying to call this so that it can execute its methods/processes
{
WebClient client = GetClient();
// Example 1 - Select Changes
SelectTicketChanges(client);
SelectStepChanges(client);
}
ご覧のとおり、この Main() メソッドは他のメソッドを呼び出します。これは私が書いたものではありません。接続しようとしているクライアントから提供されたものです。
現在、Program.Main()、Main() の下に「保護レベルが原因で Program.Main() にアクセスできません」という赤いエラーが表示されます。
私が変われば
static void Main()
に
public void Main()
私の ScriptMain.cs Program.Main() よりもすべて、「非静的フィールド、メソッド、またはプロパティにはオブジェクト参照が必要です..」という赤いエラーが表示されます。
他のメソッドを呼び出して、その機能を実行できるようにしたいだけです。
できる限り技術的でないことができれば、それは本当に素晴らしいことです。私が言ったように、私はこのプロジェクトを通して C# を学んでいます。
ありがとう!