none
Deploy System.Core.dll to .NET 2.0 users

    Question

  •  

    Hi

    My users have the .net fx 2.0 installed, and I can't wait for them to upgrade to 3.5 so I added a reference to System.Core in my 2.0 solution to have access to 3.5 features (linq, extension methods). However I don't know how to publish this dll because it doesn't appear in the Project Properties/Publish/Application Files window. I'm referencing this dll from a local path rather than the GAC, just like any other 3rd party dll's that I'm using and that get published without problems.
    Is it possible to include that assembly into the clickonce deployment ?

     

    Thanks in advance

    Jacobo

    Saturday, March 01, 2008 4:06 AM

Answers

  • Yes this is possible using Mageui.exe which comes with visual studio.  You just create your clickonce stuff in Visual Studio, copy the file into the deployment folder, then have magui add thrfile to the applicaiton manifest, then open the deployment manfiest and readd teh application manifest.  There is alot of information online about how to use mageui.exe such as: http://www.softinsight.com/bnoyes/2004/08/12/TroubleshootClickOnceDeploymentProblems.aspx

     

     

    I would be wary about just including System.Core though.  You might test this alot, i would anticpate some issues. Why not just have Clickonce install .net 3.5 on the client machines? 

    Saturday, March 01, 2008 6:59 PM

All replies

  • Yes this is possible using Mageui.exe which comes with visual studio.  You just create your clickonce stuff in Visual Studio, copy the file into the deployment folder, then have magui add thrfile to the applicaiton manifest, then open the deployment manfiest and readd teh application manifest.  There is alot of information online about how to use mageui.exe such as: http://www.softinsight.com/bnoyes/2004/08/12/TroubleshootClickOnceDeploymentProblems.aspx

     

     

    I would be wary about just including System.Core though.  You might test this alot, i would anticpate some issues. Why not just have Clickonce install .net 3.5 on the client machines? 

    Saturday, March 01, 2008 6:59 PM
  •  

    I hoped that there was another solution integrated within VS instead of toying with mageui because we publish updates very often, but thanks anyway for the tip.

     

    As for your question, I can't install 3.5 because some of the clients have Windows 2000 and AFAIK this S.O. is not supported for 3.5 (a shame btw).

     

    Regards

    Tuesday, March 04, 2008 9:43 AM
  • Using mageui is actually the best way do to this.  There is no way do to this with VIsual Studio and you propbaby dont want to manually write your own ClickOnce manifest generator with Microsoft.Build.Tasks.Deployment.ManifestUtilities.

    Make sure you really test things wiht just System.COre.dll on a Windows 2000 machine.  Not doing the full 3.5 install may yield issues.
    Tuesday, March 04, 2008 12:38 PM
  • There is an easy way to do what you want. Just add System.Core.dll to your solution but not only as a reference but also as content file - make sure that properties for this file are [Build action: Content], [Copy to output directory: Copy if newer]. Then you will see this dll in Project Properties/Publish/Application Files. Now, when the application is run in an environment where there is .Net Framework 3.5 it will use it, however if is run in an environment without one - it will use attached dlls.

     

    So there is no need to use something other than VS to do it.

     

    It works in my own projects with no exceptionWink

     

    Sebcyg

     

    Saturday, May 17, 2008 1:44 PM
  • There is an easy way to do what you want. Just add System.Core.dll to your solution but not only as a reference but also as content file - make sure that properties for this file are [Build action: Content], Then you will see this dll in Project Properties/Publish/Application Files. Now, when the application is run in an environment where there is .Net Framework 3.5 it will use it, however if is run in an environment without one - it will use attached dlls.

     

    So there is no need to use something other than VS to do it. You can even set .Net 3.5 as a target for VS solution.

     

    It works in my own projects with no exceptionWink

     

    Sebcyg

     

    Saturday, May 17, 2008 1:55 PM
  •  

    I have two qns

    FIrst, i cant seen to find System.Core.dll

    Second, if i use the core.dll in windows mobile 6 professional on .net 2005 ... will it still function properly?

     

    Tuesday, July 22, 2008 1:06 AM
  • System.Core.dll requires installing .Net 3.0. Then you can find the files in your .net framework directory under c:\windows.

     

    For Mobile you should be using the compact framework 3.0 and look for the dlls in there.

     

    Tuesday, July 22, 2008 1:08 AM
  •  

    hm.... i dont tink i found any folder called compact framework in C;\windows

    but i found C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0...?

    is it in there ... or is my framework not version 3.0?

    Tuesday, July 22, 2008 1:22 AM