mvc app requires fpexedll.dll? - asp.net

I've got an mvc4 app I've been developing, and I'm getting ready to deploy it. In VS10, I had been developing it with a "Visual Studio Development Server", and, in order to take advantage of the publish package builder so that I can specify the install directory on the destination server, I need to convert the project to use a "Local IIS Web Server"
Problem is, when I make the change, and create the virtual directory, save, build, etc...upon actually loading the new site, I get the following error:
HTTP Error 500.0 - Internal Server Error
Calling LoadLibraryEx on ISAPI filter "C:\program files\Common Files\Microsoft Shared\Web Server Extensions\50\bin\fpexedll.dll" failed
Module........ IIS Web Core
Notification.. Unknown
Handler....... ExtensionlessUrlHandler-Integrated-4.0
Error Code.... 0x8007007e
I can't imagine that I really need to add in front page extensions to the site (indeed, I've been told that this will not be allowed). In my various searches, I'm not seeing that asp.net mvc apps require this, so I expect that I've just made some kind of braindead maneuver.
Can you suggest how I can get this running again?
Note: according to the error message, I should check that the path to the isapi dll is correct, and that web.config has good permissions, and logs, and such. I've done all these and didn't find anything that I found to be out of whack, but that doesn't mean that I'm not still missing something obvious there...
Now, the C:\program files\Common Files\Microsoft Shared\Web Server Extensions\50\bin\fpexedll.dll file does not exist, but I don't want it to. How can I get rid of the requirement for it?

The dll is more than likely unnecessary.
Go into IIS 7.5, click on the Web Site in question. Then, under the IIS grouping in the center of the dialog window, double click ISAPI Filters.
Delete the filter in question.
Boom! Done.

Related

Execute IIS .NET webforms website without precompiling the source code

I want to publish to IIS the source code of my website (visual studio 2017 web forms website in vb.net or c#) without pre-compiling the project, so I can modify the source code directly on the server with IIS.
I know this is possible, I have done it in the past, and I have seen it done even now, but I cannot figure out what I need to do for this.
When I copy all the website source code to the server with the IIS, the website does not run... any ideas? or where to look for an answer? Is it a matter of setup? of the type of project?
When I call the website I get the following error:
Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: The CodeDom provider type
"Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider,
Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35" could not be
located.
Source Error:
An application error occurred on the server. The current custom error
settings for this application prevent the details of the application
error from being viewed remotely (for security reasons). It could,
however, be viewed by browsers running on the local server machine.
Thanks!
#Gabe Thanks for the directions:
File - New Project, I see it under Visual Basic/Visual C# - Web - Previous Versions (ASP.NET Web Forms Site)
I tried it, and it works just fine! Basically if you create a project like you describe, you can just copy the source code in a server, without even installing visual studio there, and you can develop the site directly there.
This is ideal when you want to test things directly with external users, test things directly on the live or test servers, and of course you can make sure you have the source code of the project running, without having to keep both the source code and the compiled version.
There are a few drawbacks though:
1) you disrupt the website when you change things, and the application pool is restarted whenever there are changes, users in sessions are kicked out, etc...
2) there is a small delay while the site gets recompiled
3) there are cases where if while the code gets recompiled there are users online, there is asp.net corruption
Thanks for the replies!!
Regards
Manos

MSDeploy ALWAYS updating certain information?

I'm using MSDeploy to keep IIS Servers in sync. But, I'm receiving these messages all of the time now:
Info: Deleting binding (MSDeploy.appHostConfig/appHostConfig[#path='Default Web Site']/site[#name='Default Web Site']/bindings/binding).
Info: Adding child bindings (MSDeploy.appHostConfig/appHostConfig[#path='Default Web Site']/site[#name='Default Web Site']/bindings/binding).
I'm just doing the following:
"C:\Program Files (x86)\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -source:apphostconfig="Default Web Site" -dest:apphostconfig="Default Web Site",computername=[removeddestination]
The source server is 2008 and the destination is 2012. Is this normal? Or am I missing something.
I looked at the applicationHost.config files and they are about as close to being the same as I think the can be, realizing that they are different OSes and all.
This is just one example. I have several different updates that it says it's doing, but it really should be the same thing. All of them are of the "Updating Application" variety.
Thanks for any assistance.
Nick
You could try adding the -verbose flag to your msdeploy call to get more details about why its deleting and reading the binding.
Well, I took the -verbose command and added it to my deploy to figure out just what was causing it to show up. Seems almost all of them are items that were added in IIS 8.0. (And I'm on 7.5 of course). So I'll just take that as being an "expected" solution.
Thanks!

Access denied when trying to delete a file in Temporary ASP.NET Files folder

I am unable to run a web application after a build in VS 2013. I get the following error:
Access to the path 'C:\Users\Thelonius\AppData\Local\Temp\Temporary
ASP.NET Files\vs\3874c594\43dbfd8b\DotNetOpenAuth.OpenId.dll' is
denied.
I tried to delete the DLL using Windows Explorer directly, but I was met with the following dialog:
You require permission from the computer's administrator to make
changes to this file DotNetOpenAuth.OpenId.dll
I found it odd since I was running as the administrator. When I tried to change the permissions from the Security Tab in Explorer, I got the following message:
You must have Read permissions to view the properties of this object.
I am unable to change the ownership on the project. Is there a solution to this problem or should I just make another ASP.NET temporary file folder? This is strange. If it helps, I am running Windows 10.
For what it's worth, Windows Handle utility claims that VS 2013 has the file open, but why can't it delete it? Also, if the file is open by Visual Studio 2012, shouldn't the error message say that the file is open?
To been able to clear the Temporary asp.net directory you need to :
Stop the IIS service (or just stop the web site that you wish to clear)
Close all visual studio programs (or only the web site that you work with)

Microsoft Release Management Server for TFS 2013 - install issue

I've been trying to install the new Microsoft Release Management app that has just been released to MSDN and am having issues
It consists of a server side component for TFS 2013, and a client side component for VS2013
The server side component runs through and says that it is installed fine, but then i can't seem to connect the client side part up to it
After a bit of investigation it seems that the web services site that is installed on the server side is not working properly
It is installed on a Windows 2012 box that is also running TFS 2013, SQL 2012, and SharePoint 2013
If i browse to the newly created ReleaseManagement website I get a 503 (Service Unavailable) message.
I checked out IIS and the app pool had stopped
in the application event log I could see a load of messages saying "current configuration only supports loading images for x86 processor architectures"
I thought this was possibly to do with the "Enable 32-bit Applications" option in the IIS app pool (was set to FALSE)
I changed that to true and tried the site again. This time the app pool doesn't crash, but I get ASP.NET errors stating "Could not load file or assembly 'Interop.ActiveDs' or one of its dependencies. An attempt was made to load a program with an incorrect format."
Has anyone managed to install this yet? Any ideas on what's going wrong here?
I know it's very new, but I'm struggling to find much information about the product at all
Thanks a lot
Here is a link towards some documentation regarding this problem. As pointed out in the comments, it is related to a bug caused by SharePoint: http://support.inreleasesoftware.com/entries/24794668
Interesting section:
The request failed with HTTP status 503: Service Unavailable.
This error message usually means that the InReleaseAppPool application
pool is stopped. Please ensure that it is started. If the application
pool stops after some time by itself, it might be due to a bug caused
by SharePoint 2013. Validate your problem by looking at the Event
Viewer. Confirm that your error is similar to the following:
Event Log Error Event ID 2282
The Module DLL 'C:\Program Files\Common Files\Microsoft Shared\Web
Server Extensions\15\isapi\spnativerequestmodule.dll' could not be
loaded due to a configuration problem. The current configuration only
supports loading images built for a x86 processor architecture. The
data field contains the error number. To learn more about this issue,
including how to troubleshooting this kind of processor architecture
mismatch error, see http://go.microsoft.com/fwlink/?LinkId=29349.
We can apply a quick fix using this command
appcmd.exe set config -section:system.webServer/globalModules
/[name='SPNativeRequestModule'].preCondition:integratedMode,bitness64
Or you can manually enter the preCondition entry in the
ApplicationHost.config file
More information can be found here:
http://blogs.flexnetconsult.co.uk/colinbyrne/2012/11/11/RunningA32bitApplicationAlongsideSharePoint2013Problems.aspx
FIX:
the user which you specified to run the TFS service needs "log on as a service" and "Log on as batch job" permissions. I've set that up via GPO.
This solution worked for me. I execute this command
appcmd.exe set config -section:system.webServer/globalModule/[name='SPNativeRequestModule'].preCondition:integratedMode,bitness64
in C:\Windows\System32\inetsrv and C:\Windows\System64\inetsrv.

Dynamics CRM 2011 cannot register plugin to Disk

I am experimenting adding plugins to CRM2011 server. Following the steps of Plug-in Sample with the sdk, everything worked as expected. However, when I tried to register the plugin to Disk (the default is to Database), I got
Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: Unable to load plug-in assembly.
Seemed that the server couldn't find the microsoft.xrm.sdk file. But why the same setting worked fine when publishing to Database?
I have added "write" privilege to user "Network Service" for folder C:\program files\MicrosoftDynamics CRM\Server\bin but got same error message.
The Server OS is Windows 2008 R2 Running inside a vmware player virtual machine.
I have got the answer from microsoft forum. Turned out that I need to manually copy the dll over to CRM server under CRMINSTLLDIR/Server/bin/assembly then I can do the registration from my client machine.
Now that I know the concept but still think it anti-intuitive. Is there any reason that Microsoft designed its plugin registration process this way? Security?
If you try adding group "Everyone" with full access to the bin folder, do you still get the error?
One does seem to be stuck with registering the .dll in the CRM database once that selection has been made, so one cannot then start using the assembly folder (disk) after that.
I've sort off gone with always using disk when dev'ing so one can quickly update just the assembly and only use the database option in a production environment.
If you really want to deploy to disk try this:
Create a share on the […]/Server/bin/assembly folder with read/write for just the developer. Alternatively if the developer has admin rights on the server you can skip this step and just use the admin share. For example:
\servername\c$\Program Files\Microsoft Dynamics CRM\Server\bin\assembly
In Visual Studio, under the Project/Properties menu selection, in the Post-build event command line box, add a command to copy your .dll (and .pdb if debugging). The copy command should include either the share name created in the previous step, or the path using the admin$
Also, take a look at the macros available under the Edit Post-build button. You will find some useful bits like $(TargetFileName) to abstract actual file and folder names.
Now every time you build, your files will automatically be copied to the server.
Even though I register my plugin to the database, I use this method all the time. If you want to do any remote debugging you will need the .dll and .pdb in the assembly folder on the server.

Resources