レポートサービス(2008)レポートでカスタムアセンブリへの参照を追加しました。私は、テキストボックス(例えば、= Assembly.Class.Function())から呼び出したときにそれは素晴らしい作品が、私は、カスタムコードブロックでそれをラップする場合:レポートサービスのレポートからC#アセンブリを呼び出す
Function GetString(ByVal key as String) as String
return Willow.Reporting.Localization.Resource.Get(User!Language, "WAR", "Title", key)
end function
私は非のビルドエラー」の参照を取得します-sharedメンバにはオブジェクト参照が必要です。 "
C#クラスと関数は静的です。
をテストとして作成し、クラスの非静的vrsionを作成し、インスタンスを作成し、カスタムコードのインスタンス名を使用してアクセスしました。
レポートサービスのコードブロックからカスタムアセンブリを呼び出すことは可能ですか?
上記のように、どちらもうまくいきません。インスタンスを作成すると、同じメッセージが表示されます。 静的メソッドを呼び出すことも、インスタンスを介して呼び出すことも、カスタムコードウィンドウのラッパー関数を介さずに、texboxレベルで正常に動作します。 – ericvg
「インスタンス」コードと、受け取ったエラーメッセージまたは例外を表示してください。私はあなたが同じエラーを起こすと信じることは非常に難しいと思っています。あるいは、「共有」が当てはまらないときは「共有」と言っても間違いがあります。また、私は確かではないが、おそらくあなたの "インスタンス"への変更は見られず、SSRSはまだ古いバージョンを使用していた。 –
閉鎖/再開VSはトリックを行いました - ideはロード時にアセンブリを一度だけロードします。静的およびクラスの両方のインスタンスは、文字列 \tリターンWR.StaticTest.GetString(など文字列 \tリターンInstance.GetString() エンド機能 機能TestStatic()など)(,:例えば、 機能TestInstanceをembdededコードから正常に動作します) End Function – ericvg