While programing in DotNet environment I found one interesting feature that is Assembly files.\nWhat is this actually. Does anyone can give idea about this?
216775
In the Microsoft .NET framework an assembly is a partially compiled code library for use in deployment, versioning and security. In the Microsoft Windows implementation of .NET, an assembly is a PE (portable executable) file. There are two types, process assemblies (EXE) and library assemblies (DLL). A process assembly represents a process which will use classes defined in library assemblies. In version 1.1 of the CLR classes can only be exported from library assemblies; in version 2.0 this restriction is relaxed. The compiler will have a switch to determine if the assembly is a process or library and will set a flag in the PE file. .NET does not use the extension to determine if the file is a process or library. This means that a library may have either .dll or .exe as its extension.\n\nThe code in an assembly is partially compiled into CIL, which is then fully compiled into machine language at runtime by the CLR.\n\nAn assembly can consist of one or more files. Code files are called modules. An assembly can contain more than one code module and since it is possible to use different languages to create code modules this means that it is technically possible to use several different languages to create an assembly. In practice this rarely happens, principally because Visual Studio only allows developers to create assemblies that consist of a single code module.\n\nThe name of an assembly consists of four parts:\n\n   1. The short name. On Windows this is the name of the PE file without the extension.\n   2. The culture. This is an RFC 1766 identifier of the locale for the assembly. In general, library and process assemblies should be culture neutral, the culture should only be used for satellite assemblies.\n   3. The version. This is a dotted number made up for 4 values — major, minor, build and revision. The version is only used if the assembly has a strong name (see below).\n   4. A public key token. This is a 64-bit hash of the public key which corresponds to the private key used to sign the assembly. A signed assembly is said to have a strong name.\n\nThe public key token is used to make the assembly name unique. Thus, two strong named assemblies can have the same PE file name and yet .NET will recognise them as different assemblies. The Windows file system (FAT32 and NTFS) only recognises the PE filename, so two assemblies with the same PE file name (but different culture, version or public key token) cannot exist in the same Windows folder. To solve this issue .NET introduces something called the GAC (Global Assembly Cache) which is treated as a single folder by the .NET CLR, but is actually implemented using nested NTFS (or FAT32) folders.\n\nTo prevent spoofing attacks, where a cracker would try to pass off their assembly as yours, the assembly is signed with a private key. You keep your private key secret, so a cracker cannot have access to it, and cannot guess the associated public key. Signing the assembly involves taking a hash of important parts of the assembly and then encrypting the hash with the private key. The signed hash is stored in the assembly along with the public key. The public key will decrypt the signed hash. When the CLR loads a strongly named assembly it will generate a hash from the assembly and then compares this with the decrypted hash. If the comparison succeeds then it means that the public key in the file (and hence the public key token) is associated with the private key used to sign the assembly. This will mean that the public key in the assembly is the public key of the assembly publisher and hence a spoofing attack is thwarted.\n\n.NET code access security is based on assemblies and evidence. Evidence can be anything deduced from the assembly, but typically it is created from the source of the assembly — whether the assembly was downloaded from the Internet, an intranet, or installed on the local machine (if the assembly is downloaded from another machine it will be stored in a sandb
492262
Well the first thing you should recognize is that VB.Net is in a transition from what VB use to be to something that is more like OOP as done in C++. For instance, VB.NET now implements full inheritance, classes, everything being an object with methods that can be overridden, shared, shadowed etc.\n\nAnother thing you can compare is the actual syntax. VB.NET has made an effort to hold onto its very English like syntax, one thing that C++ does not share. \n\nOne similarity is that VB.NET implements classes which can be derived, made abstract, full methods and properties like that of C++.\n\nI have included a site that compares C++ but with C# and Java which might be better to compare directly with C++ than VB.NET since they are so similiar. It has results on memory usage and outlines the options/OS used to conduct the experiments.\n\nYou have to understand that by its very nature C++ is closer to the machine code that the OS understands while .NET has an extra layer (the CLR or common language runtime which offers several more graphical and performance changes than original C++ code).\n\nYou will be lucky to find more C++ / C# comparisons or Java / .NET comparisons than finding one that will compare two separate languages AND platforms like VB.net and C++.\n\nHope these results help a little. Enjoy!
253947
If you are doing it strictly for hobby, such as myself  i would suggest learning visualbasic.net.\n\nAs you become more curious you may delve into things such as c or assembler, but dont start with those.
47287
What error message are you getting? Please specify and add to message. =) \nreply:\ntry looking first in C:&#92;Program Files&#92; for the Visual_Net (or simmular) dir, and from there search for the control file
15813
It sounds like you are running into 'versioning' problems with .NET.  First of all, to register your assembly in the Global Assembly Cache (GAC) you have to sign your assembly with a strong name.  Your applications that use that assembly then reference the assembly.\n\nThe problem comes in if you do not specifically designate the version of your assembly.  Look in the AssemblyInfo.vb, most specifically at the AssemblyVersion attribute.  If this is set to something like "1.0.*", that will direct the compiler to update the version number each time you compile.\n\nChange the version to a specific number, like "1.0.0.1" and leave out the '*'.  Even if you have a strongly named assembly with the same key, it will not work with other applications that have been compiled against a different version, which is changing every time you compile!
105207
In C# you do not do inline assembler as C++ allows.\n\nYou can write dll very easily to be used as an assembly.\n\nC# is easier than C++ and C.  \n\nC is considered and unstructured language while C++ and C# are structured languages.\n\nC# introduced several features that handle a lot of work you'd have to do yourself in C++ and especially C.\n\nYou can use the GC, garbage disposal to handle memory management for you in C#.  If you ever had to do memory managementin C or C++ you know how time consuming and error prone the can be.\n\nC and C++ use headers where C# have a using to define the namespace of the classes that'll do that brunt work C and C++ has to do themselves such as Structure definitions, etc.\n\nC# has built in exception handling like Java only you are not required to throw e like in Java.\n\nC# offers properties to classes unlike Java.  This allows a class designer greater access control without decreasing functionality for a caller to use.\n\nC# work s for stricky win32 to .NET platform targeting.\n\nC# give you the power of C++ or aboubt 95% of it and the ease of VB and in targeting the .NET, you may find C# much easier for more advanced functions and dll calls.\n\nThe C# compiler will assign defaults to your variables referrence or pointer = null, and value = 0.  In C and C++ if you forget to init something that must be, like when using hooks, it'll compile and throw run time.  \n\nC# shelters you from tedious tasks like that and more.\n\nThere are great simularities between C# and C++, but C++ is the one with greater horsepower.\n\nC# contains a library than easily lets you go from web to net to desktop and back.  You can create a great smart clinet using VWD and C#.  So you can create classes that will port from your aps.net to your winforms apps with out re coding for the different platform.\n\nhttp://www.microsoft.com/Express can answer alot of questions on C#, try it and the C++ Express, free until Nov 6, 2006 and see for yourself.\n\nC# is really a great .NET compiler it seems designed for it.  But going into the opsys and targeting a specific platform can be done and it's actually easier than C++ and of C.\n\nMSDN and CodeProject have great referrences for beginners and the community is always great at anwering your questions.  There is no such thing as a dumb question, everyone's out there to learn and help one another learn.\n\nIt's so needed with how fast things change and how much there is to know.  One man is no islanad in development these days.
158388
For C# and C++ Here you can find:
67991
try to look for it on sourceforge.net.\nsome other useful resources can be codeguru and codeproject
205000
You can't do it from a set of asm instructions directly. \n\nYou have to link to a library and import the file I/O functions (such as the C-Runtime Library's fopen(), fread(), fwrite(), fclose() functions).\n\nThen in assembly, you just jump to those functions with the appropriate parameters (e.g., the filename string or data to write) pushed on the stack.\n\nIf you want to save yourself some time, consider trying this (for Visual Studio and C/C++):\n\n- Write a simple C/C++ program that opens a file, appends a byte to it (like your example from 3 bytes to 4 bytes) and closes it.\n- Set Visual Studio's linker/compiler settings to "Generate Assembly Listing"\n- Build the program and look for the assembler file (*.s) that has the asm instructions.\n\nRemember to use the CRT (C-Runtime) functions, fopen/fread/fwrite/fclose.\n\nEnjoy.
63375
If J2EE was as bad as you think it is, why is it so widely used? Answer: it's not.\n\nIt's been a very long time since this technology could be accused of being generally inefficient. JIT and adaptive in-time compilers can actually recompile byte-code into assembley during runtime depending on how it's currently being used. This can produce faster execution in certain cases than C or C++.\n\nMost of the pain comes from starting the runtime, in an enterprise environment this is not an issue.\n\nPS. Remember it's just a specification. If you want to do Java just like C# (ie. compiled and ready to go as a binary), take a look at http://gcc.gnu.org/java/
15075
The Global Asembly Cache is where you put shared assemblies in .Net.  A shared assembly has members that can be called by other assebmlies without having to be physically in the same directory.\n\nYour .Net resources should make reference to the "gacutil" utility that does this job for you.  But, you have to have a "strongly named assembly" to do this, which requires the Assembly version to be static (not have the *, which you already have done), and have a public/private key set (created by the "sn" utility).  Also, "gacutil" is a development tool.  Once your product is "finished", add a .Net setup project (using the Setup Wizard) to generate an install program that will install your program and register your share assemblies automatically.\n\nAddressing the first issue, I move DLL's to target PC's all the time without having to recompile or register with regasm.  Regasm is supposed to be used to allow .Net assemblies be called by COM component.  Since you feel you need to use regasm, do the members in the DLL refer externally to any non-.Net resources, controls, etc?
3815
I learned it from Peter Norton while I did not know too much English - it's that easy.\n\nThe book is from 1986, but the basic assembly is the same even today. What's new in protected mode it will be handled by the OS anyway.
259556
There is No such standard solution structure or standard architecture for web project or windows application..\n\nBut I could say is Microsoft PetShop 3.0 architecture is now considered to be advantageous and also standard which competes with many other standard solution is java
323083
executable which u have of a .net desktop application is actually not a true executable. It contains CIL (common intermediate Language) code. So it needs .net framework to run, which compiles it just in time (when the exe is clicked) and then runs it.\n\nIf .net application is build using .net 2003 then it will going to need .net framework 1.1 and if it is build using .net 2005 then it will going to need .net framework 2.0\n\nYou can check in Add/Remove application whether the .net framework is installed or not.
307622
Its ability to mix voices (Mics & Line-in) and also have ability to change text to speech.\n\nIf you want to use this DLL Library file as a component of another software, then you will need a code sample of using this Dynamic Library and create an object.\n\nSome Details are included in the referenced link.
576323
direct addressing (which means specifying the effective address within the assembly instruction) is pretty limited - it means that you have to know the absolute address when you write the code, which is at most times impractical since programs and their data are loaded into a different addresses in memory each time they are loaded. \n\nindirect addressing (which means that the effective address is stored in a register and the assembly instruction points to that register) is much more useful - for example when a subroutine is called, the caller may store the return address in a register, and when the subroutine finishes, it jumps to that return address using indirect addressing.
617102
1 Machine language\n2 Assembly language\n3 High level Language