Shop OBEX P1 Docs P2 Docs Learn Events
Calling all vb.net experts - help please! - Page 2 — Parallax Forums

Calling all vb.net experts - help please!

2»

Comments

  • Mike GMike G Posts: 2,702
    edited 2013-04-07 08:40
    Can you tell me which .NET framework you're project targets? Right click the project -> properties -> Application tab.

    What .NET frameworks are installed?
    http://support.microsoft.com/kb/318785

    or just look at the install locations
    %WINDIR%\Microsoft.NET\Framework
    %WINDIR%\Microsoft.NET\Framework64
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2013-04-07 16:00
    Thanks Mike G. I'll check this when I get home.

    Yes it is the "Publish" part that isn't working.
    The error you are seeing are related to setup.dll not being in the expected location on the build box.

    Yes it probably is something related to that. Both the vb.net 2010 and C# 2010 versions are recent downloads (vb.net a few months back, C# yesterday) on a new Win8 machine.

    I'll check the .net frameworks when I get home. Thanks++ for the advice - I think you are onto the right track here.
  • Mike GMike G Posts: 2,702
    edited 2013-04-07 16:59
    Console projects in VS 2010 target .NET Framework 4 Client Profile by default. The Client Profile is a subset of the .NET framework. It makes a deployment package smaller than targeting the entire .NET 4 framework. Reference error pop up if your project references libraries that reference objects not included in the Client scheme. I would need a copy of your project to verify but if you never referenced a library in your console app, this is not the problem.

    I don't have Win 8 but a little research relieved Win 8 comes with .NET 4.5. .NET 4.5 no longer uses the client profile scheme. If your project targets the client profile change it to .NET 4.5 on the Win 8 box.
  • icepuckicepuck Posts: 466
    edited 2013-04-07 17:39
    Heater. wrote: »
    Dr_A,

    It's not a language thing. There are many languages out there. There is no single language to solve all problems.

    However. I have a plan....

    The single most easiest way to make a cross platform GUI now adays is in your WEB browser. No matter if you are Windows or Mac or Linux using Chrome or Firefox or IE the same GUI can work.

    All that it needs is a little "glue" connecting the serial port to your Propeller to your web page.

    That we will do with JavaScript running under Node.js.

    If nobody beats me to it I hope to show a demo soon....

    The beagle bone has a version of Angstrom that uses the Cloud9 IDE for programing via a web interface using java.
    https://c9.io/
    adafruit has something similar to cloud9 but I can't seem to find right now.
    -dan
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2013-04-07 18:35
    Console projects in VS 2010 target .NET Framework 4 Client Profile by default. The Client Profile is a subset of the .NET framework. It makes a deployment package smaller than targeting the entire .NET 4 framework. Reference error pop up if your project references libraries that reference objects not included in the Client scheme. I would need a copy of your project to verify but if you never referenced a library in your console app, this is not the problem.

    I don't have Win 8 but a little research relieved Win 8 comes with .NET 4.5. .NET 4.5 no longer uses the client profile scheme. If your project targets the client profile change it to .NET 4.5 on the Win 8 box.

    That might be it.

    The 'program' is about as simple as it gets (same error for C# and vb.net)

    In C# it is the default text
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
            }
        }
    }
    

    and in vb.net, similarly by reducing the program to the bare minimum
    Module Module1
    
        Sub Main()
    
        End Sub
    
    End Module
    

    Lots of ideas to try out when I get home. Thanks++
  • MoskogMoskog Posts: 554
    edited 2013-04-10 00:59
    Don't think this is a Win-8 problem only, I suffer exactly the same issues here with Win-7.

    First time I published my application I solved the problem but cant remember how. Now I have the same problem again and can't seem to find a way to solve it.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2013-04-10 03:09
    @Mike G, I think the .net framework is worth pursuing and a likely cause of this problem.

    Ok, the frameworks I have in Win8 are 1,1.1,2,3.5 and 4.03. I'm not sure exactly how the framework works - does it run the most recent one, or is each framework paired with the program that installed it?

    As for which one vb.net and c# target, can you go through that one again. right click project/properties/application brings up a screen but nothing about which vb.net version. I can post a screenshot if you like.

    Addit - found the .net version in project/properties/application/compile/advanced compiler settings

    There are three options - .net framework 4, .net framework 4 client profile, and install other frameworks. I am running .net framework 4 client profile.

    c# is in a different menu. project/properties/application and again it is .net framework 4 client profile.

    I tried changing to .net framework 4 but no change in the error when trying to publish.

    Reading through an interesting discussion here http://go4answers.webhost4life.com/Example/error-version-net-framework-launch-17659.aspx
  • MoskogMoskog Posts: 554
    edited 2013-04-11 03:11
    Today I installed VB.NET 2010 Express on my office PC at work. This is an XP, service pack 3-computer.

    Then I moved the whole folder including all the files belonging to my VB-project, the project that could not be build on my private Win7 laptop, -moved them from my private PC to the PC at work.

    Then I opened the application on this Win XP computer, made a check if it was without any errors, and then tried to publish.

    No error messages, no asking for any setup.bin in Engine folder. No problems at all.
  • Mike GMike G Posts: 2,702
    edited 2013-04-11 07:28
    Ok, the frameworks I have in Win8 are 1,1.1,2,3.5 and 4.03. I'm not sure exactly how the framework works - does it run the most recent one, or is each framework paired with the program that installed it?
    .Net frameworks are like libraries. Your program targets a library or framework. Newer .NET frameworks can usually target an older framework but an older framework cannot target a newer framework. This can causes DLL reference problems. The common thread is the compiler complains that it cannot find a dll or load a dll.

    In your case, I believe, the compiler can't find the bootstrapper. Either the libraries do not exist, the libraries are not in the location expected by the compiler, or the environment variables are not expected.

    The bootstrapper gets loaded with the Windows SDK and I thought Visual Studio. The files are located, C:\Program Files\Microsoft SDKs\Windows and/or C:\Program Files(x86)\Microsoft SDKs\Windows and contain the file required to create an install package. I believe if the bootstrapper dlls are not found the compiler looks at the current running directory.

    Microsoft wraps functionality in black boxes. It's great when everything works as expected. When something goes unexpected it is a pain to figure out what's wrong. You can find publish configuration in the project properties.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2013-04-11 22:29
    Thanks Mike G, I'll give that a go when I get home.

    My motivation for a command line program is because under a GUI program in vb.net, the shell function does not appear to pass enough processing time to the program that is being shelled. Judicious use of .doevents only partially solves the problem. I had an idea that a command line program would be closer to the metal and hence faster, but I wasn't anticipating the immense complexity this would cause in .net. Maybe I'll just use .net for complex programs like writing an IDE and use a different program for simpler code?

    Just now I've taken a completely different approach. Start with a new program FreeBasic http://www.freebasic.net/about/gettingstarted Download and installation less than a minute Write a simple program in Notepad and compile it. Tested opening and closing files ok, testing extracting command line paramters with command$, and I am pretty sure that the serial ports are only a few lines of code.

    I think this might be the equivalent of TinyC - perfect for those quick and simple command line programs
  • Heater.Heater. Posts: 21,230
    edited 2013-04-11 23:49
    Dr_A,
    It pains me to see you struggling with VB.

    I wish we could get you off BASIC and onto Python or some other modern language (even Perl). Especially for command line apps.
    a) There is an ocean of users of these languages on the net who could help.
    b) There is an ocean tutorials, examples etc to pick from.
    c) A lot of what you are struggling with are long solved problems. Shelling out to a sub process easy.
    d) The results of you labors would perhaps be useful to a wider audience, all those Mac and Unix guys, Users can be helpers as well.

    My current favorite is JavaScript where shelling out to a command is as simple as:
    // Include required modules.
    var sys = require('sys')
    var exec = require('child_process').exec;
    
    // Defin a function to print commmand output
    function puts(error, stdout, stderr)
    {
        sys.puts(stdout)
     }
    
    // Shell out to our sub process.
    exec("myCommand para1 param2",  puts);
    

    Something like Python may be more to your liking.
Sign In or Register to comment.