UserControlA
はプロジェクトに参加したときに既に開発されています。それは私がMyProjectWeb
と呼ぶプロジェクトにあり、名前空間はMyProjectWeb.Common
です。別のCSファイルでユーザーコントロールにアクセスすることはできません
namespace MyProjectWeb.Common
{
public partial class UserControlA : System.Web.UI.UserControl
{
...
このUserControl1にアクセスするクラスファイルを含む別のWorkFlowManagerプロジェクトがあります。
MyProjectWeb.Common.UserControlA myUserControlA = (MyProjectWeb.Common.UserControlA)WizardControl.FindControl("TabContainer5$tpSomething$UserControlID");
注WorkFlowManagerとMyProjectWebは同じ溶液中にあります。
これは完全に正常です。そして今、UserControlBという別のUserControlを作成したいと思います。
私は全く同じことに従った。
namespace MyProjectWeb.Common
{
public partial class UserControlB : System.Web.UI.UserControl
{
しかし、私の驚きに、私はWorkFlowManagerで同じコードファイルにUserControlBのインスタンスを作成することはできません。 MyProjectWeb.Common名前空間にはUserControlBも含まれていません。私は明らかに取得コンパイルすると
The type or namespace name 'UserControlB' does not exist in the namespace 'MyProjectWeb.Common' (are you missing an assembly reference?)
はなぜWorkFlowManager CSファイルから同じ名前空間にあるUserControlAなくUserControlBを参照することができるということです取得しますか? MyProjectWeb内の任意の場所にあるMyProjectWeb.Common名前空間にアクセスすると、両方のユーザーコントロールが表示されます。どこでエラーを探す?
私が何を言っている以上のことは私にはかなり十分に教えてくれない、私は確かに知っているプロジェクトを見ていると思いますASP .NET 2.0
あなたの言ったように、WorkFlowManagerは古いdllファイルを参照しています。 :)しかし、私の問題は、Webプロジェクトはdllファイルを作成しないということですか?はいの場合、最新の更新されたdllファイルはどこにありますか? –
@Ranhiru、Webアプリケーションプロジェクトはdllファイルを作成します。これらのファイルは、Webプロジェクトのルートディレクトリのbinディレクトリにあります。 – VinayC
Thanxはたくさんの仲間:) 'WorkFlowManager.csproj'ファイルに間違ったdllファイルへの参照がありました。 VS 2005から参照を削除し、正しいDLLを再追加するだけで、同じDLLを参照し続けることができました!手動でcsprojファイルを編集する必要がありました。高尚なヒープ! –