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
Solved

Linking problem?

Posted on 2004-04-08
12
190 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:knowlton
  • 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: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
Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

 
LVL 5

Author Comment

by: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: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: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: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: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:knowlton
ID: 10785617
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Article by: Najam
Having new technologies does not mean they will completely replace old components.  Recently I had to create WCF that will be called by VB6 component.  Here I will describe what steps one should follow while doing so, please feel free to post any qu…
We all know that functional code is the leg that any good program stands on when it comes right down to it, however, if your program lacks a good user interface your product may not have the appeal needed to keep your customers happy. This issue can…
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…

856 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