none
References missing from Clickonce Publish Application FIles section

    Question

  • I have winforms(vb.net vs 2008 sp1)  project that references many third party controls but when i go to the Application Files under Settings -> publish -> Application Files..they are not listed! I have the the reference set to Copy Local=True but still no luck..has been working fine for years untill now...its laso happening to another project. Any suuggestion? Using Infragistics controls as third party controls

    AnthonyS
    • Changed type Anthy Wednesday, June 02, 2010 5:52 AM
    • Moved by Martin_XieModerator Wednesday, June 02, 2010 7:01 AM Move it for better support. (From:Visual Basic General)
    Wednesday, June 02, 2010 5:51 AM

Answers

  • Hi AnthonyS,

     

    First, please add the dll to your project. (Right click the project, add->Existing item...). Then select the assembly and check its build action property, does it set to Content? If it still does not listed, try to set the “Copy to output Directory” to Copy always. Please test the step and tell me the result. If you meet any problem, please feel free to tell me.

     

    Sincerely,

    Kira Qian

    MSDN Subscriber Support in Forum

    If you have any feedback on our support, please contact msdnmg@microsoft.com
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework!
    Thursday, June 03, 2010 2:59 AM
  • Okay.

    You added the dll's to the project? I'm assuming you followed Kira's advice above and set build action to content and 'copy to output directory' to 'copy always' ?

    If the dll's are actually referenced by your project, what you should do is add each dll to your project. Set the build action to NONE and 'copy to output directory' to "do not copy".

    Then delete your references to the assemblies in the GAC and re-add the references. When you re-add them, browse to the dll's in the project that you have included. In the properties on the reference, set "copy local" to true.

    This will ensure that the application is looking for the dll's locally instead of in the GAC, from the deployment perspective.

    If you do this, and it still gives you the 'Infragistics must be installed in the GAC' message, then you're going to have to install them in the GAC on the target computer. In the past, Infragistics dll's have had to be installed in the GAC, although maybe that have made it more friendly so you can include the assemblies locally. I hope so; it's much easier to deploy your applications.

    RobinDotNet


    Click here to visit my ClickOnce blog!
    Microsoft MVP, Client App Dev
    Thursday, June 03, 2010 4:14 PM
    Moderator
  • Hi Anthy,

    If the dll's are referenced in your project, you need to do as I stated above and add them to your project and reset your references to those dll's. This will ensure that when you install the application, it will look locally. If you just set 'copy local' to true on the references, and the references point to the GAC, it will expect them to be installed in the GAC. Think of it as setting pointers to the assemblies.

    If the dll's are not referenced directly in your project (i.e. they don't show up in the References list), you can include them in the deployment by adding the files to your project, and on the properties for each dll, set build action to 'content' and 'copy to output directory' to 'copy always'.

    RobinDotNet


    Click here to visit my ClickOnce blog!
    Microsoft MVP, Client App Dev
    Friday, June 04, 2010 3:51 AM
    Moderator

All replies

  • AFAIK, Infragistics controls have to be installed in the Global Assembly Cache (GAC). You will need to deploy them as a prerequisite, or install them on the user's machine manually before installing and running the ClickOnce application.

    RobinDotNet


    Click here to visit my ClickOnce blog!
    Microsoft MVP, Client App Dev
    Wednesday, June 02, 2010 7:18 AM
    Moderator
  • Driving me crazy!!

     

    iI have never required to install my third party dll to the GAC before.  I just go to Application Files under Settings -> publish -> Application Files and set the files to include and thats it.  Shouldn't these files be listed?  Even my own referenced project is not being listed.


    AnthonyS
    Wednesday, June 02, 2010 12:39 PM
  • Hi,

    Are you publishing on your development machine? Aren't the dll's installed in the GAC? If the dll's are not added to the project specifically, they will not be included in the built output. Have you upgraded your project recently? You say you're using VS2008 -- you didn't upgrade to VS2010? (Just making sure.) Have you changed anything in your application since the last upgrade?

    RobinDotNet


    Click here to visit my ClickOnce blog!
    Microsoft MVP, Client App Dev
    Wednesday, June 02, 2010 8:56 PM
    Moderator
  • Hi AnthonyS,

     

    First, please add the dll to your project. (Right click the project, add->Existing item...). Then select the assembly and check its build action property, does it set to Content? If it still does not listed, try to set the “Copy to output Directory” to Copy always. Please test the step and tell me the result. If you meet any problem, please feel free to tell me.

     

    Sincerely,

    Kira Qian

    MSDN Subscriber Support in Forum

    If you have any feedback on our support, please contact msdnmg@microsoft.com
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework!
    Thursday, June 03, 2010 2:59 AM
  • I have installed vs 2010 but not using it yet. Publishing to another machine...and i am adding them specifically to the project.  CopyLocal is set to True

     

    These are dlls i am referencing so the Right click the project, add->Existing item... doesn't apply?


    AnthonyS
    Thursday, June 03, 2010 11:04 AM
  • Okay.

    You added the dll's to the project? I'm assuming you followed Kira's advice above and set build action to content and 'copy to output directory' to 'copy always' ?

    If the dll's are actually referenced by your project, what you should do is add each dll to your project. Set the build action to NONE and 'copy to output directory' to "do not copy".

    Then delete your references to the assemblies in the GAC and re-add the references. When you re-add them, browse to the dll's in the project that you have included. In the properties on the reference, set "copy local" to true.

    This will ensure that the application is looking for the dll's locally instead of in the GAC, from the deployment perspective.

    If you do this, and it still gives you the 'Infragistics must be installed in the GAC' message, then you're going to have to install them in the GAC on the target computer. In the past, Infragistics dll's have had to be installed in the GAC, although maybe that have made it more friendly so you can include the assemblies locally. I hope so; it's much easier to deploy your applications.

    RobinDotNet


    Click here to visit my ClickOnce blog!
    Microsoft MVP, Client App Dev
    Thursday, June 03, 2010 4:14 PM
    Moderator
  • thanks people for your patience...

     

    set build action to content and 'copy to output directory' to 'copy always' is not availabe for references?


    AnthonyS
    Friday, June 04, 2010 3:18 AM
  • Hi Anthy,

    If the dll's are referenced in your project, you need to do as I stated above and add them to your project and reset your references to those dll's. This will ensure that when you install the application, it will look locally. If you just set 'copy local' to true on the references, and the references point to the GAC, it will expect them to be installed in the GAC. Think of it as setting pointers to the assemblies.

    If the dll's are not referenced directly in your project (i.e. they don't show up in the References list), you can include them in the deployment by adding the files to your project, and on the properties for each dll, set build action to 'content' and 'copy to output directory' to 'copy always'.

    RobinDotNet


    Click here to visit my ClickOnce blog!
    Microsoft MVP, Client App Dev
    Friday, June 04, 2010 3:51 AM
    Moderator
  • Thanks RObin..will try your suggestion but why is this happening all of a sudden?
    AnthonyS
    Sunday, June 06, 2010 12:25 PM
  • I don't know. I could see it happening if you opened the solution in VS2010 -- if you changed your target Framework to .NET 4.0 and they didn't support it, or something like that. But you say you did not.

    Have you installed an update to Infragistics or made any changes to the machine you are building on?

    My last question would be are you the only developer touching the solution? If not, I'd check and make sure they have Infragistics installed. If you're using some kind of course control, you can also check there and see if there were any changes to the project file.

    RobinDotNet


    Click here to visit my ClickOnce blog!
    Microsoft MVP, Client App Dev
    Sunday, June 06, 2010 6:57 PM
    Moderator
  • I had the same problem you are describing, Infragistics references were suddenly missing from "Application Files..."

    It was happening for me because in my solution I had a shared project that was previously opened in VS2010.  (in a different solution)

    Once I opened the whole solution in VS2010 the issue went away, similarly I assume the shared project in question could have been reverted and the issue would have went away in VS2008.

     

     

    Wednesday, June 23, 2010 5:25 PM
  • For what it is worth, I have this happening on a dll encrypted by a third party component. While other referenced .dll's show up in Application Files, this particular .dll does not. It wouldn't bother me except I noticed if I signtool the .exe, the .dll never shows up in the manifest and is never delivered to the client. If I do not signtool the .exe it does get deployed.

    Frustrating.

    Thursday, September 29, 2011 9:13 PM