User-Scope Settings When A .NET Assembly Is "Referenced"?
Apr 9, 2009
I have a stand-alone WinForms application, let's call it "Program A." Program A let's a user create a file and save some information to it. Program A also exposes some public classes.Another stand-alone WinForms application ("Program B") references Program A, and uses some of its public classes.
However, some of Program A's classes need to open the file the user created in order to retrieve data from it. In Program A, the location of the user's file is saved in the "Settings" (as user-scope settings of course) and are retrieved (this is a VB.NET app) via My.Settings.
This is all well and good until Program B runs - when it runs and uses the classes from Program A that need to read from Program A's My.Settings, the settings are blank - it's as if they were reset (as when you run Program A for the first time or under a new user account). Any application-scope settings are kept, but any user-scope settings are reset to their default values (whatever they were set to in the IDE when Program A was written).
[Code]...
Assume that the user has already run Program A at least once and opened a file, so Program A's My.Settings.UserFileName should be set.
When Program B calls Foo.GetStuff(), it doesn't return anything because My.Settings.UserFileName doesn't contain the user's file name - more accurately, it contains whatever the "default" value for that setting was (as set in the IDE when you set up the setting in the first place). But, if you turn around and launch Program A, it remembers the user's setting for UserFileName.
So - the question is: When calling a function in a referenced assembly, why are the user's settings not retained? Is there an explanation for the behavior I'm seeing, or am I missing something terribly obvious? Or perhaps I'm just going about this all wrong, and I shouldn't have made any of the public classes in Program A rely on anything in My.Settings in the first place?
Why does my app not load the saved user scope my.settings when it starts by way of the registry run key? This key starts programs after the user login, per microsoft. So why does it not load the saved user settings? The program does start up, but all the areas on the form where saved user scope settings should be, are the default values (mostly empty strings). (The user scope settings are there if I start my program by the desktop shortcut
I've looked, searched, posted to other forums, but can't seem to find an answer.
I have recently upgraded an VB6 project to vs2008. I was almost finished when the following error occured. Unable to emit assembly: Referenced assembly AxInterop.MSFlexGridLib does not have a strong name Prior to this error appering, I tested my app several times and it was fine. Only after publishing it did the error appear. I have tried all solutions I could find, but nothing helps. I have read [URL]
I'm wanting to include a system tray icon in my WPF project, and found this resource:[URL]..which looks like it will work beautifully, but it's written for C# and I'm using VB.net for this project. I downloaded his project and built the notifyicon as a DLL, then added as a reference to my project.
It throws up an error: Unable to emit assembly: Referenced assembly 'Hardcodet.Wpf.TaskbarNotification' does not have a strong name So I'm trying to figure out the best way to proceed. Do I need to strong name it, or is there a better way to do this?
I'm working with legacy data, which often brings me one information splited in multiple columns. I'm trying to reproduce the following SQL query.[code]This own statement will run into the following exception:Variable 'line' of type 'SomeTable' referenced from scope '', but it is not defined. Any directions? I'm trying to avoid magic strings, but I'm always giving up to it (as using HQL the concatenation expression + like function works like a charm).
If I create a user level application setting and bind it to a text box on a form, then type something in the textbox, the value is automatically saved and when the application is launched again the value appears in the textbox. This doesn't happen when I scope the setting as application.
Why are application scoped settings not saved automatically like user scoped settings are?
If this is by design, how can I manually save these settings and load them at runtime?
I have a VB project that has a referenced to other project in the same Solution. I want to use Type.GetType() in order to obtain a type object from the referenced project but the method keeps returning Nothing.[code]...
I would like to enumerate an assembly's referenced assemblies and determine what should or should not possibly be included as a dependency in deploy scenarios.For obvious reasons I would want to exclude those assemblies that would be included by the CLR install.Is there any way to track back an assembly to being part of the default install of the CLR?
I got warnings on my project, does somebody know how to reference this assembly. this is probably because the project has these crm.mytextbox type textboxes and other controls instead of normal system.windows.forms.textbox.Warning1Could not find type 'crm.Mycombox'. Please make sure that the assembly that contains this type is referenced.If this type is a part of your development project, make sure that the project has been successfully built.00
I am loading an assembly using LoadFrom method on a file located in another folder. The assembly is called VisualCronAPI.dll. The assembly that I load has references to another assembly (VisualCron.dll) which contains some general type definitions used in VisualCronAPI. The file VisualCron.dll resides in the same folder as isualCronAPI.dll.When using LoadFrom I see in the output that VisualCron.dll is loaded. I am able to retrieve all methods in VisualCronAPI that uses parameters from VisualCron.dll. I am able to see parameter values However, when trying to create a Type using the following code I get an exception:
Dim t As Type = assem.GetType("VisualCron.NetworkCredentialClass, true) Exception: Could not load type 'VisualCron.NetworkCredentialClass' from assembly 'VisualCronAPI, Version=1.0.3.32487, Culture=neutral, PublicKeyToken=55f7a52402de1c04'.
Is it possible to load a referenced assembly only if the .NET Framework version is lesser than a specific number? I'm using a selfmade LINQ library on .NET 2.0, but if the framework is 3.5+, it should use the M$ LINQ library, and ignore the selfmade one. Here's my library: [URL]
I am writing an App that automates file uploads from users desktops to a specified file server. On the first run of the app, I need the user to select a file server and save it for all other users of that PC. I thought I could do this with application settings but it appears it is not suitable for this purpose. I need suggestions on how I can make this work.
I thought about a registry setting but the user may not have permission to edit the registry based on group policy/security settings.
I also thought about creating an XML file with the file server name that I can read from the installed project directory, but I was hoping there was a more streamlined way.
Is it possible to access the My.Settings of an other DLL referenced in the current Project? I have a Database project in which Settings the ConnectionString is stored. I need access to this Setting in an other Project(for Log-File).
I created an application using VS2008. I am having a problem on only one PC. If I log on to the PC as the domain administrator, it deploys and runs just fine. If I log on as the user I get an error that basically says "The referenced assembly is not installed on your system. (Exception from HRESULT: 0x800736B3)". The error comes when running Venodr.appref-msl. VENDOR is the name of the application. The source is System.DeploymentSystem.Runtime.InteropServices.COMException I upgraded the user to a domain administrator and it still will not run. The PC is XP SP3
I've tried searching and haven't found much useful information on this, I know it has to be possible, but I'm not sure how. I've got an application that bi-directionally syncs with an SQL express 2008 server. right now, I've got a hardcoded sa user in my conection string, however one feature that was asked for was to audit every change made by end users into the database. To implement this, I've created a user login and password for each user that is going to use my app (8 of them) on my sql server, however I now need to change the connection string to include each users name in the string. This is what I've got setup so far:
I am rewritting my application to conform to ms standards. We used to save all settings to registry for user settings, servername, size and locations.so we are now saving them into My.Settings app.config the only problem is that each time there is an update clickonce will isntall the newupdate but now all settings are loist and user has to save everything all over again..
I am trying to follow the book here but it seems i keep getting stuck somewhere. registry has worked fine for years but i understand we must move on, but if stuff like this happens then i just wasted a long time converting all code to conform for it to not work..
1. I can't find the file which reflects changes to user settings. This might be because I just can't find it (I can see a bunch of user.config files but they are all empty - weird!), or...
2. I'm not actually saving them when I think I am.
Regarding 2. - do I need to invoke
Is this all I need? And if so, why are my user.configs empty?
I'm using VB.Net. I have a WPF User Control called "NavigationPanel" which I created with the Designer. By default, its scope is Public. When I change its scope to Friend in the file NavigationPanel.xaml.vb, I recieve the following error:
I am trying to store an enum in my application settings. This enum is defined within my main assembly in the same namespace. When I try to find the type under the application settings, it seems like I can't find any types within my namespace. I can see all the types of the assemblies I reference though.
how to reset user settings in My.Settings to the default value, because when i checked if the user settings works i have altered the settings so now i want the settings to go back to default, because i am going to distribute the software.
I am attempting to create an application in an attempt so it could be run as the user and preserve individual settings, by this what i am trying to achieve is when the application is installed, it is installed once but each user has their own settings saved within their own profile - a bit like Office applications. How could i start with this?
I'm trying to save a collection of key/value settings in my application's "user settings" (they're column widths), but while I see no errors, when I run the code (in the IDE) my collection in "My.Settings" is always nothing at startup. I do a "My.Settings.Save" when the application exits, and barring the "serializers not found" errors in the IDE, no other errors occur. When I run my application as an exe, it behaves the same way..
MY understanding is like this, for the "website type" of projects:for VB, the default setting for the namespaces and the default setting for references are both stored in C:WindowsMicrosoft.NetFrameworkV4.0.30319ConfigWeb.config.
but C# does not seem to use this global web.config file to store its default namespaces and references settings. One evidence is that you see a lot of "using ..." statements at the top of all C# files whereas you don't see many "imports ..." statements at the top of all VB files. So C# stores the namespace settings in individual .cs files, but where does C# store the reference settings then? Or the C# compiler knows all the reference without having to store it somewhere?
The main function receives data, uses additional functions to calculates the result and gives it back. But at one point, the function needs data from the SQL Server. I wrote a second UDF, made it visible and deployed it to the SQL Server. I see now two functions under > programmability > functions > scalar value functions:
1. The main function (IsCalcDay) and
2. The function with the data access (IsHoliday)
If I call directly the second function from VST in the debug mode, it works fine, bur if I call it via the main function, the code stops if the connection will be opened. The error is "Data access in this context is not permitted. The context is a function or method that is not marked with DataAccessKind.Read SystemDataAccessKind.Read or a callback to retrieve data from the FillRow method of a table-valued function or a UDT validation method." (translatet from German, probably slightly differnt in English)
VST (2010 prof) and the SQL Server (2008 R2) are running in my virtual W7 maschine.
Here is the code of the second function:
Imports System Imports System.Data Imports System.Data.SqlClient Imports System.Data.SqlTypes
[Code]....
Why can I open the connection if I call the function directly, but it fails if the function is called from another function?
I'm trying to test/debug a WPF UserControl library in Visual Studio 2010 with the User Control Test Container.exe. I keep getting the error "Assembly [...] doesn't contain any UserControls." This should be simple, and every msdn article and blog tutorial I've looked at suggests that it should all just work perfectly and magically.[code]Project File has debug options set to open UserControlTestContainer.exe, with ./MyTestLibrary.dll as a command-line arg.
I have an application that uses user settings and I have a button that gets a value (long) and writes this in a textbox I then have a setting called StoredKey with the data type of long I then pass this to the setting like this:my.settings.StoredKey=cLng(textbox1.text)this all works well in debug, but when I deploy my application and try to store the value in my.settings.StoredKey the value never gets written in!by deploy I mean packaging the exe in a setup and deployment project type and performing the wizard install to c:program files.[code]
So, I've created a form that allows for the user to save his or her settings after closing it. When using Visual Basics to run the program, there is no problem and it works wonders.Here is the problem.When I run the program not in Visual Basics, when I go to open the form, it fails. At first, it was because I didn't update the configuration file to include the new settings. Which was dumb, of course, but I updated the file and made sure to put it with the program.
When running setup to install published program, the following message occurs: System Update Required: Unable to install or run the applicaiton. The application requires that asssembly CrystalDecisions.CrystalReports.Engine Version 10.2.3600.0 be install in the Global Assembly Cache (GAC) first. This version is listed in the references of the program and in my mind, be included in build. How do I get by this error?