Cannot find or open the ntdll.pdb file - asp.net

After the last windows Security Update (Oct 17, 2014) my MVC 5 solution (System.Web.Mvc) started misbehaving. I'm using VisualStudio 2013. Thanks to the help I received in here I fixed the problem according to the instructions found on this page and that one.
However another problem has emerged. Everytime I debug my solution I got the following message:
C:\Program Files\IIS Express\ntdll.pdb: Cannot find or open the PDB file.
C:\Windows\System32\ntdll.pdb: Cannot find or open the PDB file.
I searched for the dll but I couldn't find it. In an attempt to solve the problem I emptied the Symbole cache and I reloaded all symbols from the Microsoft Symbol Servers in a new folder that I've created with read and write permissions. The problem remained.
In fact it's not an error because I can still run the solution by clicking on Continue and the website works well eventhough the ntdll.pdb is not found. How can I overcome this problem and how can I recover the ntdll.pdb?
Thanks

I think your solution resides here, which is the "Understanding symbol files and Visual Studio’s symbol settings" page. It describes how to configure VS's settings for using symbol files/where they're stored.
Additionally, you can acquire system PDB's for multiple versions of windows directly from MSDN, this is useful for remote debugging scenarios (production environments, or those with multiple host operating systems which need to be debugged.)
Ideally you would want to set up your own symbol store(s) and configure visual studio accordingly.

Related

Web Deploy 3.5 Install Error - #2738

I'm attempting to create a custom WordPress theme using MS WebMatrix and am encountering the following error when trying to install the WP app:
Error 2738: Could not access VBScript runtime for custom action
This occurs when the download attempts to install Web Deploy 3.5. I'm currently running Windows 7 64-bit OS.
The research that I've done indicates this is error stems from "VBScript being not properly configured to run on the PC."
The solutions I've encountered and tried - to no avail - are:
Run MS FixIT
Re-registering the VBScript dll via cmd prompt - c:\windows\syswow64\regsvr32 vbscript.dll
Run the System File Checker tool sfc /scannow
[Note: I do not have, nor have I had McAfee installed - I've seen reports that in some instances the McAfee installation can cause the wrong vbscript .dll to be registered]
Outside of doing a factory wipe - which I'd like to reserve as a last resort or completely scrap using WebMatrix entirely - I've run out of potential solutions searching this specific problem.
Has anyone had success with this issue outside of the solutions posted here already? Any help would be appreciated.
So, I discovered a solution to this issue that hasn't been covered well online, so I'm posting it here.
A steadfast solution to resolving this error if running Windows 7 64-bit OS:
Open your registry editor
Start -> Search -> Type "regedit"
In the editor, click on:
HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\Wow6432Node\CLSID{B54F3741-5B07-11cf-A4B0-00AA004A55E8}\InprocServer32
Check the value for (Default)
If it's anything other than C:\Windows\SysWOW64\vbscript.dll that's where your issue is originating
Make sure you have the correct permissions to edit the value for (default)
Right Click on InprocServer32 -> Permissions -> Give yourself "Full Control"
Now edit (Default) and set it to C:\Windows\SysWOW64\vbscript.dll
Reboot
This should fix any issues that might have been encountered during the execution of custom VBScript during Web Deploy download.

Operation failed, unable to locate the solution directory

I'm new to ASP.NET and have been working through some tutorials in VS 2013. I just tried to open up Nuget by clicking on Website > Manage Nuget Packages, but got this error message:
"Operation failed. Unable to locate solution directory. Please ensure that the solution has been saved."
I can't seem to find anything online about how to fix this, and Nuget is definitely installed and everything is saved. Any thoughts?
In VS2010 ctrl+shift+S saves everything.
Selecting the solution in the Solution Explorer and then choose
File | Save
saves the solution.
Keep in mind that if you donwload files from the internet those files can be blocked. You can unblock them by going to the properties of the file in the windows explorer and click unblock. Or you could use powershell as shown in this question

Cannot delete file in network share

The summarized problem is that I cannot delete specific files in a network share. The files seem to be locked on the server side and not by a windows service. The computers where this problem originated was under a domain and the documents and other windows libraries are on a network share. I have tried several solutions that will be described below.
Here is what happened:
While debugging a web application in Visual Studio, I got the infamous blue screen of death. After I restarted and wanted to resume debugging, the project did not compile. I got this error: "Unexpected error creating debug information file z:\MY_Proj_Dir\obj\Debug\My_Proj_Name.pdb Access is denied". Which I found weird, since I have debugged that project in that location many times before. The unexpected windows error while running the debug session in Visual Studio must have locked it somehow. This file is for debugging information and after looking in forums how to resolve the issue, they recommended to delete the Debug directory.
So here are the solutions I have tried:
- First, of course, I tried to clean and rebuild the project.
- Close visual studio and restart the computer and tried again.
- try to manually delete the obj\Debug directory: The files My_Proj_Name.dll and .pdb could not be deleted because apparently I need permission to perform this action from the administrator, which is myself.
- So I right click the directory, open properties -> Security -> Advanced-> ownership -> and the ownership is of my_user_name#the_domain. Which is the account I am logged in from. If I try to change ownership to the only option that gives me there, which is the same (my_user_name#the_domain) , ticking replace owner on subcontainers and objects, it gives me an error “Error applying Security: access denied”. The same if I try to do it on the individual .dll and .pdb files.
I have tried turning User Account Control off, restarting and trying to delete the file.
I have also tried using the command line with no luck.
I tried the tool "unlocker" to see if I can release the file from other windows services or write permissions, but I still cannot delete them.
To see if the problem was on the computer, I tried to log in using VPN from my home computer and accessing the network drive:
- If I delete the files from there, they immediately reappear, without any "cannot delete" dialog. It doesn’t let me change ownership of those files either.
I started up my Ubuntu VM and accessed the network share. and tried to delete the files from there. It gives me an even more weird error message: "File does not exist". But I can see it there!
I tried to log in to the network share from WinSCP and putty, but I cannot access the domain DNS with ssh or ftp. Probably the server only supports SMB (windows share)... I am not sure.
note: I only have problems with that specific folder and its files. I have no problems with any other folders in my network drive. One thing I have learned is not to debug projects located on a network share.
The problem was solved by working offline and debugging locally. Working offline Visual studio was able to rewrite the debug information files. From visual studio I clean the solution and the files were deleted. It seems that released the lock visual studio had on those files. Once it was working offline it was just a matter of turning the work online mode again. Then I was able to compile and debug normally.
I learned not to debug directly on the network share, but instead have my visual studio projects locally to avoid ownership and permission problems.

Error 1324: Folder Path 'C:' contains invalid character Installaware 7.0 R2

I hate to ask the same question others have asked in Stackoverflow, but I still can't figure out why Installaware 7.0 R2 has this problem.
I need to build a installable CD for the previous version of my software. So, I am using what came with RAD Studio XE to do this. After creating a new Win32 setup for installation and customizing it, I built and test ran the project. In the middle of the installation, it raised an error, "Error Folder Path 'C:' contains an invalid character." So, I went back and created another win32 project and without doing any changes to anything I compiled, built and test ran the project. It worked without any error. After spending hours changing one thing at a time and testing it over and over again until I hit the error message again, I finally found the offending property in the Installaware. The error is raised thereafter once you change the Target folder textbox default value which is $PROGRAMFILE$\$TITLE$\ or Shortcut folder textbox default value which is $TITLE$. They only way to get passed this error is by not changing those default folder paths and allowing the user to change the folder path during installation.
It sort of annoying especially when you spend thousands of dollar purchasing these software from Embarcadero and Codegear. Is there a fix for this? Does anybody know?
These variables are resolved automatically to full folder paths. If you delete them or set an incorrect value, your package will not be able to resolve the installation path (hence the error). So the path edit controls should have valid default values.
If you don't want to allow the user to change your installation path, you can try deleting the dialog which offers this option. I'm not sure if that version of InstallAware supports it though.
If you don't like InstallAware, there are some good free or commercial alternatives which may help you.

Problem with built assembly not matching source when debugging under IIS 7.5

I have a problem debugging a web forms application that is configured to use IIS for debugging, under Windows 7 and Visual Studio 2010. An example has just occurred, where I make a change to the code behind for a web form, save, and apparently rebuild before starting the app using F5.
The app starts, and I get an error message trying to do something in the app. I tell the debugger to break when an exception is thrown and try my task again, only to be told
The source file is different from when the module was built.
where the module is C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\9d7b45ca\11a98b19\assembly\dl3\5e6cf0b2\636409d4_dfeecb01\PerfixEMS_Admin.DLL
The physical folder for my test web site is set to the web application project's source folder, so I have always assumed that IIS will look in the bin folder for required assemblies, and these will be rebuilt as expected. Why is this not happening?
Cleaning the solution usually works for me.
Update
Given the high number (320) of projects I understand why Clean and Build won't work for you. You should however try it at least once to see if fixes things.
If it does fix your problem but doesn't last you'll need to do one of two things.
Clean just the one file
Delete the offending temp file. You probably won't be able to do this because with VS running since it may have a lock on the DLL. You may also have to stop IIS. You can use Process Explorer to look for the processes that have a lock.
Use a custom solution
Its unlikely that you're going to be modifing all 320 projects at the same time. Create a custom solution for just the projects you're working on. You'll still be able to step through any project you have the DLL and PDB for if you need to.
Which to do
Using a custom solution has its problems since you can no longer use project reference for projects not in your solution. This impacts your team's source control. You'll also have to make sure the DLL's and PDB's from outside your solution are in a stable location and you'll need a way to detect when thoes other projects have changes that you care about.
These problems can be overcome with a careful check-in process for Project changes and scripts that copy files and working with team members to figure out how to communicate changes.
On the other hand closing VS for every change or running Clean and build isn't really tennable either.
it may be a workaround, but I just need to see if it will work or not, then we may investigate more in the original case. but for now, try this:
1- publish this website to a different folder
2- open the newly published version from your preferred browser (ex: http://localhost/APP_NAME).
3- from VS, open "Debug" menu, choose "Attach to process..."
4- select the IIS worker process "w3wp.exe" and click "Attach".
(if you can't find it, make sure that the checkbox "show processes in all sessions" is checked)
5- start debugging your source code normally and let me know what happened, thanks.

Resources