I searched lot. There is huge questions are in SO. But its not clear my problem. In my project i added a reference via
Reference->RightClick->Added Reference->Project->solution
But in my project folder it does not having the required DLL in
Projectfolder->Bin->Release
How can i get that specified DLL in Project folder.
I'm facing error like that
Metadata file:'Projectpath.dll'could not be found.
Go to reference, click on that reference, right mouse button, properties -> "copy to output"
if needs DLL,Select the Project and goto the property window
Need to change project Output Type into Class Library
And onemore thing, Check your project Solution Configuration.
If it is in Debug mode means, DLL Should be in
Projectfolder->Bin->Debug
Either it is in Release mode
Projectfolder->Bin->Release
I'm trying to create a Monogame Project in Visual Studio 2012. Monogame itself is installed correctly, I've cloned one of my older projects from github and it compiles fine.
But if I create a new project in Visual Studio the .dll references are wrong. There is a build error that complains about not finding SDL.dll . There is the SDL.dll reference in my project outline and it indeed points to the wrong file:
This path "C:\Users\lhk\Program Files..." does not exist. Windows doesn't store Program files in its "Users" folder.
I opened the explorer and opened the very same path without "Users\lhk\" and the .dll is found.
Then I checked my older project again. The same SDL.dll is referenced in the Visual Studio solution but the path is the correct one. And the older project compiles just fine.
Somehow the Monogame Project template fills in the wrong paths.
Now here's the problem:
I can't edit that reference.
The text is greyed out and not editable and I didn't find the correct settings to change the reference.
Oh, the problem is solved:
I tried drag-and-drop with the dll.
So far Visal Studio always complained that there is an existing file with the same name.
I tried to "cut" the wrong .dll but that only made its icon slightly transparent. The new .dll still couldn't be added.
Turns out that the ENTF key can do what cutting can't.
I'm afraid I never got the idea that I could delete it with ENTF after cutting didn't work. Now its gone.
I dragged the new dll over to the project.
Compiles fine
Apparently you can just drag and drop references to a project.
At first I thought this wouldn't be possible because the wrong .dll just couldn't be deleted. I tried to "cut" it from the project but it just changed the color of its icon and persisted.
With the old .dll still intact the new one couldn't be added.
I'm afraid the solution is extremely simple. You can just remove this reference by pressing "ENTF" - it's rather embarrassing. But I never thought this would work after cutting had no effect.
With the old reference having been removed you can indeed drag and drop the new one.
The project compiles fine.
What I did is create a path on the drive and put the sdl.dll file there. So whenever I make a project Visual Studio finds it.
I have a large solution in Visual Studio 2012 which consists of executables and class library projects.
When debugging the application the breakpoints in one particular class library project are not being hit.
I looked at the Debug> Windows> Modules window to check the status of the symbols for that project and it says "Cannot find or open the PDB file".
It also says "No" under the "User Code" column.
I notice that there are a few other of the custom projects in the solution that are showing "No" in that column and their symbols are also failing to load. Anything with a "Yes" under "User code" seems to have had it's pdb loaded no problem. But I'm not sure if this is relevant.
I have used dumpbin /headers on the dll and the path for the pdb file is present and correct.
The module is definitely not in the exclude list for the symbol loading.
I have also tried right clicking on the entry in the modules window, selecting "Load symbols" and navigating to the path given in the dll header. When I select the pdb it says "A matching symbol file was not found in this folder".
I get this after I have deleted these folders and files, cleaned the solution, closed it and rebuilt the whole thing.
The pdb was definitely built at the same time as the dll in question.
So clearly the problem is the "cannot open the pdb" portion of the error message.
I have tried this on 2 computers and both are exhibiting the same behaviour.
Can anyone offer any suggestions on where to go from here, and perhaps why on earth the built pdb corresponding to the dll won't load for it?
I tried a few tools to check if the pdb and the dll actually matched, and using chkmatch I could see that the GUIDs in the dll being run and the pdb in the obj folder didn't match.
So it turns out that although the dll and pdb in the project's obj folder are a match, the dll that was actually getting copied to the application's destination folder by a post-build event was the old dll from the previous build.
The post-build event was running before that particular project had built, or at least finished building, and was copying in the existing dll from the bin which was subsequently overwritten by the continuing build.
I have resolved the problem by editing the project dependencies for the solution and ensuring that the project with the post-build event is dependent on the project that wasn't loading, and now the pdb loads during debug.
I simply deleted bin and obj folder from the startup project folder and rebuild the solution.
For me I just deleted the project from IIS and created it again and it works fine
For me it helped to use chkmatch tool and then just close and open visual studio, make clean and rebuild. Now my pdb gets also loaded. You can make sure it does, as Nanhydrin pointed out, from Debug -> Windows -> Modules - this view is only accessible during debugging.
I found that the project I was receiving the message about, was being optimized when built.
I went into the projects properties, Compile Tab, Advanced Compile Options... and unchecked the Enable Optimizations checkbox
In my case older version of referenced dll was in my GAC. Cleared it out, and it worked.
In my case there was a check mark on Enable Just My Code in Tools>>Options>>Debugging>>General.
I unchecked it and it worked.
Example Image
Reminder: Put the project into "Debug" configuration... for those like me who forget and feel silly.
I just had this issue and thought I would put my fix here, as it my help others (maybe even myself again?!) in the future...
Make sure that when you are attaching to the process on the remote server, that the "Attach to" is set to
Automatically determine the type of code to debug
To do this, When the server qualifier has been provided and a list of processes is visible, click the "Select" button next to the "Attach to" input.
Then, select "Automatically determine the type of code to debug" and OK out of the screen, then attach.
This fixed the issue for me, at least.
Deleted the project from solution and added it again to the solution worked for me. :)
Bit late to the party here - just in case this is helpful.
We have a couple of separate websites (in different solutions in Visual Studio). On initial load of one of the sites, we were making a call to the other site which would return an image.
Both of these sites referenced a common DLL, but while working on one site, had not realised that the other site had been left in a 'Release' build - after the site loaded, the offending DLL was rebuilt, but without symbols.
Kudos to Nanhydrin for both mentioning the modules debug window (very helpful) and for putting me on the right track with the post build event.
Answer from another thread that worked for me: https://stackoverflow.com/a/28476665/5969306
- In Visual Studio: Project Properties -> Build -> Advanced button -> Debug info drop-down and make sure the value is not “none”.
I had a line like this in my debug window:
Symbols for the module 'MyModule.dll' were not loaded.
I removed the 'Optimize code' option in Project properties -> Build. And the error disappeared.
This issue may be due to wrong reference of dlls used in project.
Delete obj and bin folders in current project and build project again.
Check for permission to ASP.NET Temporary folder:
"c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files"
User of application pool has to have the rights to subfolder with ASP.NET files, something like:
root\60039743\c28e12ee
Check options from this answer: https://stackoverflow.com/a/38377530/6911991
Click Advanced and check that Debugging Information is set to FULL
Check Run Configuration in all projects in the solution
I had this issue , tried all the other solutions (it took 2 days !! I'm crying... !TWO DAYS!) But finally I realized that my file was registered in GAC, I removed it and the problem was resolved.
At the command prompt, type the following command:
gacutil –u <assembly name>
How to: Remove an Assembly from the Global Assembly Cache
Please check the dependency of your dll, if you added to the solution, this can cause failure in loading symbols.
I resolved this issue by disabling 'Use Managed Compatibility Mode' in the Debug->Options menu:
SOLVED! For people who are having the same problem this is what i did:
I moved the project away from where Visual Studio though it would be. This forces you to create a new project file there. I did. Then i restarted the program and now my project was visible. I now just moved the original project-files into the now visible folder.
I added an project to my solution but it doesn't show up next to all the other imported projects.
And since it doesn't i'm unable to delete it and try again.
However it can be seen if i right click the solution and go to "Startup Project", "Project Dependencies" or "Debug Source File".
I have searched the web for a while now but have yet to find someone with a similar sutiation, how do i solve this?
I imagine that this is because the files don't exist. Have you created the project on a network drive somewhere? Have you renamed or moved the folder after adding it to the solution?
Check the paths are right, then double check. Also check your version control to ensure someone hasn't wiped out your changes and left the .sln file intact.
You can edit the .sln directly I suspect to double-check the exact path it's looking for. Verify that path exists too.
Make sure the project you added was created in the same version of Visual Studio too.
in my solution:
i have a class library project that compiles into a dll.
i have a web project.
(i have multiple solutions with different web projects but the same class library)
one of the files in the class project (utilities.cs) - all of a sudden won't compile into the .dll
i had made a change to this file, but the change wouldn't show on the website. so i put a breakpoint in the .cs file, and tried running it... breakpoint didn't get hit! eventually i put a breakpoint in the .aspx file that called the function. then i stepped the debugger one line on, so it would step into the .cs file, except i got the error:
"This source file has changed. It no longer matches the version of the file used to build the application being debugged."
so the code in utilities.cs is not being updated into the dll. which is weird, because code in my other .cs files IS being updated (i tried changing a few lines) and IS able to catch the debug.
any ideas how to fix this? or even what the cause of the problem is??
Try:
Right click on Solution in Solution Explorer -> Properties -> Configuration Properties -> Make sure Build checkbox is checked for your class library.
You need to find out why the DLL will not build:
Look at the output window for any errors
Check the Errors window
Fix the errors and try building again.
The dll that you are trying to debug is from an older version of your code that did compile OK and the debugger pickes that up and is trying to debug against that - it is complaining because the code and the dll no longer match.
Try doing a Build -> Clean on the solution and then rebuilding to see the errors.
When You adding new references to Web project You must choose "Projects" tab:
Projects lists all reusable components created from local projects.
Add or Remove References in Visual
Studio
Add a Reference to a Visual Studio
Project in a Web Site
Always rebuild all projects in Release and Debug mode.
I did exactly what #nightcoder said but a simple change was required. Go to Configuration Properties(Right click on Solution in Solution Explorer -> Properties -> Configuration Properties) and select "All Configurations" in Configuration option.
This created the .dll for me
This happened to me after switching between branches in a project which have significant differences between them, I tried every solution from the web but non worked.
Finally, I had to delete my local project files and clone the project from the GitHub repo again, after that when I started the project, the project build worked without errors, and dll was generated.