Il existe un UserControlA
qui était déjà développé lorsque j'ai rejoint un projet. C'est dans un projet que j'appellerai MyProjectWeb
et son espace de noms est MyProjectWeb.Common
.Le contrôle de l'utilisateur n'est pas accessible par un autre fichier CS
namespace MyProjectWeb.Common
{
public partial class UserControlA : System.Web.UI.UserControl
{
...
Un autre projet WorkFlowManager contient un fichier de classe qui accède à ce UserControl1.
MyProjectWeb.Common.UserControlA myUserControlA = (MyProjectWeb.Common.UserControlA)WizardControl.FindControl("TabContainer5$tpSomething$UserControlID");
Note: WorkFlowManager et MyProjectWeb sont dans la même solution.
Cela fonctionne complètement bien. Et maintenant je veux créer un autre UserControl qui est UserControlB.
J'ai suivi exactement la même chose.
namespace MyProjectWeb.Common
{
public partial class UserControlB : System.Web.UI.UserControl
{
Mais à ma grande surprise, je ne peux pas créer une instance de UserControlB dans le même fichier de code dans WorkFlowManager. L'espace de noms MyProjectWeb.Common ne contient même pas de UserControlB. Quand je compile je reçois obtenir évidemment un
The type or namespace name 'UserControlB' does not exist in the namespace 'MyProjectWeb.Common' (are you missing an assembly reference?)
Pourquoi est-ce que je peux faire référence à UserControlA mais pas UserControlB qui sont dans le même espace de noms à partir du fichier WorkFlowManager cs? Si j'accède à l'espace de noms MyProjectWeb.Common n'importe où dans MyProjectWeb, je peux voir les deux contrôles utilisateur. Partout pour rechercher des erreurs?
J'utilise Visual Studio 2005 avec
ASP .NET 2.0
WorkFlowManager fait référence à un ancien fichier DLL comme vous l'avez dit. :) Mais mon problème est que les projets Web ne créent pas de fichiers DLL? Si oui, où puis-je trouver le dernier fichier dll mis à jour? –
@Ranhiru, le projet d'application Web va créer des fichiers dll - ils seront situés dans le répertoire bin sous votre répertoire racine du projet web. – VinayC
Merci beaucoup :) Le fichier 'WorkFlowManager.csproj' contenait une référence à un mauvais fichier dll. En supprimant la référence de VS 2005 et en rajoutant la DLL correcte juste gardée toujours gardé se référant à la même DLL! J'ai dû éditer manuellement le fichier csproj. Thanx heaps! –