I'm building a test website in azure, I'm getting an issue in Azure site, Where as my local code published to a folder and setup in IIS is working fine. I work on vs2015. code written in C#. Error is below one. Could not load file or assembly 'System.Web.WebPages.Razor' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. Please help in this. Thanks
cr
Is the dll in your solution set as copy local? (go to references, right mouse button and then properties.)
If not set it to copy local.
Alternatively:
Do you use different versions of the dll in your solution?
Then set a bindingredirect to the latest version and be sure to use the correct one in your application. http://blogs.msdn.com/b/thottams/archive/2007/01/30/introduction-to-versioning-and-bindingredirect.aspx
Adding to what RoteS answered, if you are using MVC on VS2015 and you are deploying to Azure by Continuous Integration, why not reference the MVC Nuget package instead? You won't need to commit or copy that DLL around, and Azure (Kudu) will handle the package restore for you when it's deployed.
Thanks for your replies.
I've tried by two options
1.Setting copylocal = true
2.Instlling Microsoft.AspNet.Mvc -Version 5.2.3
But still the problem was there. It works on Local system when published.
But it was not working in Azure. seemed to be some publish issue.
Finally as 3rd step,
I've taken all the mvc related dlls and copied to Bin mannually, referred from this location instead of the package location.
Set the option - copyLocal = true
It worked fine :)
Thanks.
Related
I add licensed select.pdf.dll to my SharePoint project. This dll file has added in both the visual studio reference and the package section(Deploy target as 'Global Assembly Cache (GAC)').
I was not able to deploy my solution to my sharepoint development server, with the error message
“Error occurred in deployment step 'Add Solution': Error: Cannot add the specified assembly to the global assembly cache: Select.Pdf.dll.”
I have googled the problem, someone cannot deploy because the .dll they want to deploy already existed in %windir%\assembly folder and the .dll is locked by other process.
VS2015 build error: Cannot add the specified assembly to the global assembly cache
https://devramblings.wordpress.com/2011/03/23/error-cannot-add-the-specified-assembly-to-the-global-assembly-cache/
However, the "Select.Pdf.dll" I want to deploy has never been deployed before, the %windir%\assembly and %windir%\Microsoft.Net\assembly folders do not have same name dll. file in them.
I have tried to restart VS, and reset IIS. the problem still existed.
Is there any way to solve the problem? Thank you.
You need to add the relevant .dep files also. When you add your assembly to the advanced section of the package you can add Class Resources at the bottom of the dialog. In my case I had to add Select.Tools.dep and Select.Html.dep before I could deploy my sharepoint solution.
#Mundi's answer works, only clarification is that for us, only selecting Select.Html.dep was enough. It is to be noted that you have to specify that you want to view all files (not just .dll) when selecting the additional Class Resources.
Alternative solution that worked for development scenario (but not advisable for production) is using appropriate gacutil.exe to your .net version.
I'm trying to publish my WebJob which is connected to an Azure Website. So I use Publish on the website. This will publish the site and inside the App_Data-Folder the files for the WebJob are deployed.
The problem is, that I use the NuGet package Microsoft.SqlServer.Types inside the WebJob which brings 2 dlls one of which is a C++ native lib. This dll lays in "/bin/SqlServerTypes" of my WebJob-bin-folder which wouldn't be deployed by the publish-operation. Only items directly laying inside of the bin-Folder of the WebJob are deployed.
How can I ensure, that the complete bin-folder from the WebJob-project is deployed to App_Data on the web?
What I tried so far is:
Adding a project-reference to the WebJob-project in the WebSite-project.
Generating the folder-structure under App_Data in VS and referencing the dll there.
Edit: Turns out, that I had a simple spelling bug when creating the structure beneath the App_Data-Folder. In my case it worked when I just added those dlls in the folder the tooling expected them to be. See the answers for other good links.
I had a similar issue. Check this out.
As far as I know, this hasn't been solved yet. A workaround is to copy the relevant dependencies via FTP.
Hope this helps.
Following dlls are not working when I deploy my asp.net application in azure:
1. DropDownCheckBoxes.dll
2. AjaxControlToolkit.dll
They work perfectly in the non-cloud application deployed on the server as well as local.
Any thoughts?
Could you explain why you think these assemblies are not working in Windows Azure? Are you having issues in a web role or in a web site?
Most issues occur because the assembly is not included in the package. Could you try the following for both assemblies:
Right click the assembly
Select Properties
Change Copy Local to True
Redeploy the application.
Checked the "Remove additional files at destination" checkbox when publishing it to Azure and it will work. I had the same problem, none of the other solutions work. Here is the thread I found the solution in also, so simple but who would've known! Also I did not have to uninstall and re-install, all I did is check the checkbox during publishing:
[http://social.msdn.microsoft.com/Forums/windowsazure/en-US/e29cc03b-c822-4ba9-b044-51107c367848/ajaxcontroltoolkit-is-not-working-when-deployed-to-azure?referrer=http://social.msdn.microsoft.com/Forums/windowsazure/en-US/e29cc03b-c822-4ba9-b044-51107c367848/ajaxcontroltoolkit-is-not-working-when-deployed-to-azure?referrer=http://social.msdn.microsoft.com/Forums/windowsazure/en-US/e29cc03b-c822-4ba9-b044-51107c367848/ajaxcontroltoolkit-is-not-working-when-deployed-to-azure][1]
The following issue just crept up on me. The steps mentioned below had worked just fine until about 2 days ago.
When I deploy a update to a solution (of web parts) to a SharePoint 2010 server I don't see the update. The solution does get installed, but from what I can tell the installed web parts are over a month old (nothing new is installed).
I do the following steps through PowerShell:
retract the solution from the web app
remove the solution
add the solution
install the solution to the web app
I have tried restarting the Web App, restarting IIS and also restarting the server. Nothing seems to work.
I notice that after I remove the solution it does get removed from the GAC. After I add/install it the solution does reappears in the GAC.
Am I missing something? Am I overlooking a step that I should be doing? Something to try?
I never deactivated/reactivated the Feature.
After following the same steps I mentioned in my question I just deactivated, then reactivated, the Feature and everything started to working fine.
This is an easy thing to I can start to implement with my solution updates. However, why did I never have to do this step before?
In general, you should check your ULS log to see which version of your solution is running. If you see the old one, then you can be sure that your activated site feature is still bound to the old version. In this case you have to Inactivate the site feature indeed to loose that tie and then Activate to bind to the new one (it appears Activate always ties the site feature to the newest version of the solution).
Maybe you had not to do this earlier, because you did not change the version number of your solution, appearing as the same version in GAC on the server. In this case you had your site feature already pointing to the correct version of your solution, therefore didn't have to reset the feature.
You have probably checked, but just in case. Make sure that the powershell script is not adding a month old package.
Is the problem in the web part code or the configuration? The configuration usually unghosts itself sooner or later and refuses to update from the solution - you can update the file in the gallery manually if anything has changed there. For most updates there won't be any changes because existing web parts won't get updates applied anyway - they will use new code but old configuration.
If the problem is the code itself, does the assembly appear to the system to be unchanged? All the hardcoded full name references in SharePoint config files mean that usually you are deploying a new assembly but with the same version numbers. This can mean that the system doesn't bother making the update. I have found it very useful to update AssemblyFileVersion (which does not affect binding) on every build and have a page in _layouts that displays the file versions of all the loaded assemblies so I know exactly what is running.
I have written a sequential workflow in SharePoint on our development environment. After testing, we decided to deploy this workflow as a feature on the staging environment. We did the following:
copied the strongly named assembly to the GAC using gacutil
copied feature.xml and workflow.xml to WebServerExtensions/12/templates/features/someFolder
installed feature (stsadm command)
activated feature (stsadm command)
All worked exactly as planned and the workflow behaved correctly. The problem was, we decided to change something in the code (a message was not very self explanatory), so on the development machine we updated the message as requested and rebuilt the project.
The problem is, we cannot seem to find a way to correctly get rid of the previous version of this workflow/feature.
To deploy the upgrade, we:
deactivated and uninstalled the feature (stsadm commands), removed also from GAC.
increased the version of the assembly
performed steps 1 to 4 from above.
When using the workflow we are still getting the first message, we cannot find a way to get the new message to be displayed.
What are we missing?
All the workflow logic "lives" inside the code assembly you are running. This means you can delete the old version of DLL (don't change assembly version numbers, use AssemblyFileVersion instead) from the GAC and replace it with the new version.
Be aware, though, that if you have changed the workflow in the designer, running instances of the old workflow version will "freeze" and never finish. Ask your users to finish their running WF-s before you upgrade the code.
It seems that the problem was in the Workflow.xml file.
Because I incremented the AssemblyFileVersion, and only replacing the dll in GAC did not work, I checked the two xml files: Feature and Workflow to see which one did not recognize the new dll (if the case). The workflow.xml file had a reference to the old version in it. I updated that, installed and activated the feature again, and it is working perfectly now.
Thanks for your support!