What is gpstate file in ASP.NET - asp.net

In my project I found a .gpState file in the folder, What is the purpose of gpState file?

I have never seen such a file in an ASP.NET app. Are you sure it is from ASP.NET?
Edit: it seems this file comes form the Guidance Automation Toolkit (whatever that is).
Quote from the page linked:
As a developer uses a Guidance Package in their Visual Studio Solution, the Guidance Automation Extensions will store information about how the Guidance Package is used in the solution into a file named <SolutionName>.gpstate in the solution folder. The following information is stored in the .gpstate file:
Bound references and their initial state
Unbound references and their initial state
A list of Guidance Packages that have been enabled on the solution (with version numbers)
For each Guidance Package, a flag that says if the binding recipe has been executed for that Guidance Package
Version information for the Guidance Package
You should not delete the .gpstate file, because it will cause the solution to lose this information.
By default, the .gpstate file is not added as a solution item in the Visual Studio solution. If a team of developers is working on the same solution and the team wants to share Guidance Package state, the .gpstate file can be added to the solution and checked into source control. If several developers make changes to the Guidance Package state in their solutions at the same time, it will be necessary to merge the changes in the .gpstate file when it is checked in. Another important consideration when using Guidance Packages in a team environment is ensuring that each developer has every Guidance Package required by the solution installed, and that the versions are the same. If there is a mismatch between Guidance Packages or versions installed by different developers, the Guidance Automation Extensions will delete any state that applies to Guidance Packages that are not installed.

Yes the file comes from GAT
This is what is in it:
`<?xml version="1.0" encoding="utf-8"?>
<GuidancePackagesState xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/pag/gax-gpstate">
<Packages />
</GuidancePackagesState>`

Agree with all other answers. I like better the explanation quoted in this answer from user lgpanaro, straight from patterns & practices forum. Especially the bulleted list, it makes one understand whether you want to check-in those files or not.
And BTW, I think one should.

Related

IntelliSense & .NetCore

I've been using .NetCore for some smaller projects and I generally love it, but there are a few issues, of which one has been irritating me quite a bit:
In this example a lot of the configuration stuff uses extension methods to hang extra features off of Json, Command Line, Object Binding etc... In these cases all of which live in separate packages. When you see some code examples which typically include one or more of them you naturally copy them into a project to try them out, giving you compile errors when you try to build them.
Asking VS for guidance (pressing good old Ctrl Dot), doesn't help and so you have to search for the relevant packages you need followed by more searches in Nuget installing each one as required.
So my question is (Drum Roll Please) am I missing something or is there a tool/setting or extension that can give me suggestions based on exported extension methods on Nuget's public packages when you press Ctrl Dot on the error much like suggestions on missing namespaces?
Regards
Lee
If you are targeting netcoreapp2.1 you can use the metapackage which will include all of "supported" packages from Microsoft.
https://learn.microsoft.com/en-us/aspnet/core/fundamentals/metapackage-app?view=aspnetcore-2.1

.dll files successfully added but are not enabled in the active designer

When I use .dll files in the ASP.net toolbox with the chosen item menu, a message displays like: "The following controls were successfully added to the toolbox but are not enabled in the active designer". I want to use this .dll (Aguage.dll file downloaded from internet & want to use in my project).
What can I do to solve this issue.
This .dll file basically contain a gauge like speed meter of car, clock etc
The following link appears to have the answer to your question (though is slightly different, it appears).
how to import a dll into a asp.net web application running on webserver
So hopefully you should find all the info you need there. However if you need more help do let me know :).
Edit: I have checked and the initial version of the file seems to have been created for .NET 2.0 rather than the version you are currently using. There may be a way to amend the DLL file but I would suggest this is problem.
Edit 2: Works fine on my system with latest version of VSEE 2015 so outdated file doesn't seem to be the issue. Suggest there is a likely a probably with user's setup. More info in comments.
http://www.codeproject.com/Articles/17559/A-fast-and-performing-gauge
I have uploaded a video to help:
https://www.youtube.com/watch?v=HWFIgFonZ3A
(in reply to the user who previously removed reference to this question, this is not a link only answer by any stretch of the imagination; furthermore, the answer holds information which is likely useful to other users and is part of a process of ongoing inquiry into the roots of the user's issues, which we are more than happy to look into as deeply as the concerned party is willing to furnish us with additional information)
Additional note: At the current time our best information has been forthcoming regarding the problem the user is experiencing. If the user wishes additional support, and assuming Visual Studio had been installed from scratch, we would be ok to remote on to the user's system if they wish us to do so

Determine Version of .NET Software Running

This may be a stupid question and/or a futile effort -- you've been warned...
I have a ASP .NET application (with the VB parts compiled to a DLL). This application has been around a while and the person who wrote it apparently messed up the old source code repository system. He is no longer around and I'm not clear on whether the source code I was given was a re-write or an older version (or by some strange luck the actual version of the website running).
Being that part of this website is running as a DLL, what is the best way I can go about in determining if the version of the source code I have matches what is running? I'm unable to setup an IIS server to throw this on (licensing/server cost/time/etc).
Is there a better way than compiling the project and then finding some disassembler and doing a comparison?
Is there a better way than compiling the project and then finding some disassembler and doing a comparison?
That's what I've done in the past in your situation.
Open each compiled assembly using ILSpy, and use the option "File / Save Code" to generate source files.
Build the source code from your source code repository, and use ILSpy to generate source files.
Compare the results of 1 and 2.
Obviously this won't give you the whole picture - you'll also need to compare aspx files, config files, ..., but it's the only approach I know.

How to package an ASP.NET application to prevent customers from modifying it?

Is there a tool or some general approach to packaging all the files of an ASP.NET application into binary form to prevent modification once its deployed? I am thinking there would be a set of signed binaries and a config file for settings that we allow the customer to modify. Has anyone attempted this, is it even possible?
I would pay a reasonable amount for a slick commercial product that did this with minimal hassle.
UPDATE
Sorry, from the answers I can see that I wasn't clear. I meant literally packaging ALL files, not just the code files. This means aspx, scripts, images etc. I'm not trying to prevent reverse engineering... this is a supportability issue, i.e. to avoid dealing with problems brought about by customer messing with the files.
If you made a web application project than you can compile your code into a single dll file. You can find it in the bin folder.
Just use aspnet_compiler.exe to precomple everything and then use aspnet_merge.exe to roll up all of the compiled assemblies into a single assembly. You can use an obfuscation tool like DotFuscator if you want to make it more difficult to reverse-engineer. Visual Studio pro and up include a "lite" edition of Dotfuscator that you can use for this.
Your codebehind files will be compiled in a single dll as ZippyV already mentioned. The aspx files will get deployed normally on the webserver.
But still, your dll files can be disassembled quite easily. So to be sure you have to use an obfuscator.
If you mean ALL files including the aspx you could also consider ngen. It precompiles everything into a dll so you can't even get at the aspx pages.
Although, ngen was designed to get rid of the JIT compiling feature of the framework and is definitely not a generally recommended approach but it may work in your case well.
From VS2008 select the menu option "Tools" and then "Dotfuscator Community Edition". You will have a "Learn More" link after it starts up.
I also sign mine using SN.exe to make it have a strong name. Given all this, I think it is complicated enough to figure out a system if you are given the source code and help.... so I don't worry about it anymore.
maybe Dotfuscator your customer won't be able to modify it nor reverse-engineer it :)

Generate a Sandcastle help file for a website without the "Xml Documentation File" option

I am trying to generate a Sandcastle help file for a website. In the properties window for project, there aren't any options for creating the XML Documentation File required for Sandcastle.
The Build tab in the property pages only contains options for: Start Action, Build Solution Action, and Accessibility validation. I don't have any options for Output, or XML documentation file, like my other projects have.
The website I'm working with does not have an actual .proj file, which could be the problem. If this is the problem, what is the best way of creating one for a project that is under source control and being worked on by many people with minimal disruption?
This is using Visual Studio 2005 professional.
The problem with websites in VS2k5 is that, when they get compiled, the resulting dlls are a mess. No namespaces, weird names, etc.
If you truly want to generate a Sandcastle Help File, look at converting your website into a web application. You can definitely generate source code docs for that.
I haven't tried it yet, but you might want to try the following
Documenting Web Sites / Projects from Eric Woodruff's site. It gives the specifics on how it can be done.
Update: I did try it and it works for regular websites. The only issue I can see is
that the websites don't have namespaces. So when I run it I get a topic by
FolderName_WebPage Class format without any logical grouping. So it is alhpabetical by
folder and page name. Once you got the content created, you can edit the help file using
a helpcompiler / builder and group the topics as needed.

Resources