2 votes

Impossible d'accéder à mes propriétés d'une classe dans sharepoint

J'ai un problème avec mon application Sharepoint. J'ai commencé à la programmer comme un projet normal et maintenant j'aimerais la "déplacer" dans une application Sharepoint. Mon application a deux projets : l'un est le projet réel pour Sharepoint et l'autre contient les classes. J'ai signé mon projet de classes, il a un nom fort et est référencé. Jusqu'ici tout va bien Mais maintenant j'ai le problème que je ne peux plus accéder aux méthodes publiques dans ma classe. Donc quand j'instancie ma classe :

var myName = new ClassName();

pour ensuite essayer d'y accéder, par exemple :

myName.Size = 20;

"Taille" sera marqué en rouge avec l'erreur "ne peut pas résoudre le symbole". Mais avant de mettre tout cela dans une application Sharepoint, cela fonctionnait très bien ! J'ai cherché partout mais je n'ai pas trouvé de solution à ce problème.

Quelqu'un connaît-il ce problème ?

UPDATE :

Voici mon code dans le projet principal :

protected override void CreateChildControls()
{
  ...

  HPlaner hp = new HPlaner();
  hp.Entries.Add(new HPlanerEntry("Micky Mouse", new DateTime(2012, 12, 24), new DateTime(2013, 1, 13)));

  hp.Scale = 2;
  hp.Year = year;
  hp.Summary = true;
  this.Controls.Add(hp);
}

et c'est la classe :

public class HPlaner : WebControl
{
  private List<HPlanerEntry> _Entries;
  public List<HPlanerEntry> Entries
  {
    get
    {
      if (_Entries == null)
      {
        _Entries = new List<HPlanerEntry>();
      }

      return _Entries;
    }
  }

  public bool Summary { get; set; }
  public int Scale { get; set; }
  public int DayCount { get; set; }
  public int UserCount { get; set; }
  public int Year { get; set; }
  public string[,] UserList { get; set; }

  ... (myMethods)

}

0voto

Rikard Uppström Points 1353

Je pense que votre code est écrit pour l'architecture x86 alors que le code SharePoint est écrit pour l'architecture 64 bits. Vous pouvez modifier le paramètre de votre code en cliquant avec le bouton droit de la souris sur votre projet dans VS et en sélectionnant Propriétés->Construction->Platform Target. Sélectionnez x64 et recompilez.

0voto

DaRula Points 35

Désolé les gars, la réponse était simple ! La classe principale dans le projet normal était _Default et dans l'application Sharpoint HPlaner, qui est le même nom que mon autre classe. Vous ne pouviez pas le voir, puisque le nom de la classe n'était pas inclus dans mon listing. Combien de temps peuvent prendre de "petites" choses comme ça !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X