Solved

Linking problem?

Posted on 2004-04-08
12
192 Views
Last Modified: 2010-04-15
I have this solution with lots of existing projects I have brought in.

I have been able to access the properties and methods of the other Assemblies just fine.

But even though I have added assembly called "NEOMail" and it does have a public method exposed.....it fails to show up when I try to declare a variable of that type:

http://www.knowltonfamily.com/linking_prob.gif
0
Comment
Question by:Tom Knowlton
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 7
  • 5
12 Comments
 
LVL 12

Expert Comment

by:dfiala13
ID: 10785333
knowlton,
two things:
1)Does the class only have static methods?  If so then you can't declare an instance, you can just use it...

NeoMail.SendMessage("");

2) Have you set your using NeoMail at the top of the class declaration?
0
 
LVL 5

Author Comment

by:Tom Knowlton
ID: 10785351
Here is the code for NEOMail:

Other assemblies have similar code and are linking in just fine!


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

using System;
using System.Web.Mail;

namespace BuyerFund
{
      namespace NEOMail
      {
            /// <summary>
            /// Summary description for Class1.
            /// </summary>
            public class NEOMail
            {
            private string NEOEmail_To="";
                  private string NEOEmail_From="";
            private string NEOEmail_CarbonCopy="";
                  private string NEOEmail_Subject="";
                  private string NEOEmail_Body="";
            private string NEOEmail_AttachmentOne="";
                  private string NEOEmail_AttachmentTwo="";
                  private string NEOEmail_AttachmentThree="";
            private string NEOEmail_AttachmentFour="";
                  private string NEOEmail_PriorityIfFax = "";            


//if needed                  private ArrayList arLines = new ArrayList();
                  public BuyersFund.GatherMessages.GatherMessages gmMessage = new BuyersFund.GatherMessages.GatherMessages();
                  public BuyersFund.FormattingLib.FormattingLib formatLIB = new BuyersFund.FormattingLib.FormattingLib();
                  public BuyersFund.GeneralFunctions.GeneralFunctions genFuncs = new BuyersFund.GeneralFunctions.GeneralFunctions();

                  public NEOMail()
                  {
                        //
                        // TODO: Add constructor logic here
                        //
                  }

                  #region  Setters and Getters
                  
                  public string NMailTo
                  {
                        set
                        {
                              NEOEmail_To = value;
                        }

                        get
                        {
                              return NEOEmail_To;
                        }
                  }

                  public string NMailFrom
                  {
                        set
                        {
                              NEOEmail_From = value;
                        }

                        get
                        {
                              return NEOEmail_From;
                        }
                  }

                  public string NMailCarbonCopy
                  {
                        set
                        {
                              NEOEmail_CarbonCopy = value;
                        }

                        get
                        {
                              return NEOEmail_CarbonCopy;
                        }
                  }

                  public string NMailSubject
                  {
                        set
                        {
                              NEOEmail_Subject = value;
                        }

                        get
                        {
                              return NEOEmail_Subject;
                        }
                  }

                  public string NMailBody
                  {
                        set
                        {
                              NEOEmail_Body = value;
                        }

                        get
                        {
                              return NEOEmail_Body;
                        }
                  }

                  public string NMailAttachmentOne
                  {
                        set
                        {
                              NEOEmail_AttachmentOne = value;
                        }

                        get
                        {
                              return NEOEmail_AttachmentOne;
                        }
                  }

                  public string NMailAttachmentTwo
                  {
                        set
                        {
                              NEOEmail_AttachmentTwo = value;
                        }

                        get
                        {
                              return NEOEmail_AttachmentTwo;
                        }
                  }

                  public string NMailAttachmentThree
                  {
                        set
                        {
                              NEOEmail_AttachmentThree = value;
                        }

                        get
                        {
                              return NEOEmail_AttachmentThree;
                        }
                  }

                  public string NMailAttachmentFour
                  {
                        set
                        {
                              NEOEmail_AttachmentFour = value;
                        }

                        get
                        {
                              return NEOEmail_AttachmentFour;
                        }
                  }

                  public string NMailAttachmentPriorityIfFax
                  {
                        set
                        {
                              NEOEmail_PriorityIfFax = value;
                        }

                        get
                        {
                              return NEOEmail_PriorityIfFax;
                        }
                  }
#endregion


                  //returns 0 if okay
                  //returns 1 if error
                  public int SendFax()
                  {
                        try
                        {
                              MailMessage MyMail = new MailMessage();
                              MyMail.From = "Administrator@buyersfund.com";
                              //MyMail.To = FAXMAKER_EMAIL + this.strFaxNumber + FAXMAKER_DOMAIN;
                              MyMail.To = this.NEOEmail_To;
                              MyMail.Cc = this.NEOEmail_CarbonCopy;
                              MyMail.Subject = "TEST .NET built-in mail";
                              MyMail.Body = "::p=" + this.NEOEmail_PriorityIfFax;
                              //MailAttachment myAttachment = new MailAttachment(strFaxDocPath);
                        
                              //For testing...will generate exception
                              //MailAttachment myAttachment = new MailAttachment("sadfs");
                              //MyMail.Attachments.Add(myAttachment);
                              SmtpMail.Send(MyMail);                    
                              return 0;                              
                        }
                        catch(Exception e)
                        {
                              gmMessage.AddMessage("IT","There was a problem faxing.  Details:  " + e.StackTrace);
                              return 1;                              
                        }                  
                  }

            }
      }
}
0
 
LVL 12

Accepted Solution

by:
dfiala13 earned 500 total points
ID: 10785388
Typo when you try to reference it.

Namespace is BuyerFund, not BuyersFund
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 5

Author Comment

by:Tom Knowlton
ID: 10785393
NEOMail.    does not bring up code completion for the public method SendFax(  ) or for any of the Setters / Getters I have written.
0
 
LVL 5

Author Comment

by:Tom Knowlton
ID: 10785401
Ohhhhh......you are so right......geez I hate that!!!!!!!!!!!!

Was supposed to be BuyersFund not BuyerFund.....


Thanks,

Tom
0
 
LVL 12

Expert Comment

by:dfiala13
ID: 10785408
No problem, happens to me too.
0
 
LVL 5

Author Comment

by:Tom Knowlton
ID: 10785470
:)

Confirmed....it works now.  


Tom
0
 
LVL 12

Expert Comment

by:dfiala13
ID: 10785485
Excellent!

Dean
0
 
LVL 5

Author Comment

by:Tom Knowlton
ID: 10785499
I want to ask you something else.....

I've noticed that you can add lots of existing projects to one solution.

Is it pretty common practice to add all company related projects under ONE solution.....for easy access, etc.?
0
 
LVL 12

Expert Comment

by:dfiala13
ID: 10785545
I think it depends.  If you add them all to one solution you are constantly rebuilding them which can start to effect versioning, etc., not to mention compile time.  When you're in dev mode and things are all fluid, it is probably useful to keep them all in one solution.  However, once you have started to lock projects down it is probably best to move them out of the solution and just reference the assembly.  Especially true for assemblies that are shared by multiple applications.
0
 
LVL 5

Author Comment

by:Tom Knowlton
ID: 10785562
Okay....

I have noticed that I am naturally grouping set of Assemblies together for different projects I work on....and had the thought, "Hey why don't I just lump ALL OF THEM together into one big solution...???"

I think you have laid out the pros and cons of this quite nicely.
0
 
LVL 5

Author Comment

by:Tom Knowlton
ID: 10785617
0

Featured Post

Salesforce Has Never Been Easier

Improve and reinforce salesforce training & adoption using WalkMe's digital adoption platform. Start saving on costly employee training by creating fast intuitive Walk-Thrus for Salesforce. Claim your Free Account Now

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.

737 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question