Publish website without roslyn - visual-studio

I am trying to create web application using Visual Studio 2015 and .NET 4.5.1.
When I publish the website, visual studio create folder named roslyn.
I know it's used to compile code on the fly, but unfortunately my hosting provider doesn't allow me to execute the compiler on their server.
How to publish the website without roslyn like previous version of Visual Studio?
EDIT:
I got this error when trying to acces my website.
It seems IIS trying to execute roslyn\csc.exe but my user account doesn't have permission to do that. With previous version of Visual Studio, this error doesn't show up.

I've just faced the same problem. When you create a new web project, two nuget packages automatically added to your project. If you remove them, your problem should be solved. Package names are: "Microsoft.CodeDom.Providers.DotNetCompilerPlatform" and "Microsoft.Net.Compilers".

I had the same issue. Followed the steps from here. Basically:
Uninstall the package
Uninstall-package Microsoft.CodeDom.Providers.DotNetCompilerPlatform <Your Web API project name>
In your publish profile settings, uncheck "Allow precompiled site to be updatable". You can find this under Settings > Precompile during publishing > configure

After searching the same issued I face, I just came here. I read the above answer which is right.
I give the answer, because of Here is the good article to explain :
Why the publish code have this exe as well as development environment ?
What is the benefit and how to remove?
This is also the very good article, about the history of this exe

After countless effort....and according to this website.
I find that you can use /p:UseWPP_CopyWebApplication=true /p:PipelineDependsOnBuild=false in MSBuild to transform web.config, this also include the roslyn compiler in the build. The output is same as what you get by publishing in Visual Studio into file system

There is an open bug on the roslyn repository about this issue.
In my case all I had to do was to downgrade the dll Microsoft.CodeDom.Providers.DotNetCompilerPlatform from version 1.0.6 to 1.0.5.

I have had the same issue in Sept2016 when I took over an existing ASP.NET program. I found that there were multiple versions of the two compiler packages mentioned by Kemal installed in different projects of the solution.
So firstly I updated to get them the same. VS doesn't tell you that updates are available in this scenario (or maybe I missed them ?)
I then had to restart VS2015 for the packages to clean up properly.

Related

project.assets.json not found - TFS Build Server, no internet

We're just in the process of transitioning from VS2013&15/TFS2013 to VS2017/TFS2017 (on-site TFS, not VSTS) and the first test solution is a dotNet Core 1.1 based one (a multi-project web service).
The solution builds fine on the original developer's box and I've got it out of TFS and it builds fine on mine too. In keeping with our previous methodology the contents of the packages folder are checked in with the projects as this makes the packages locally available on the build box (no internet).
Building the solution on the build server is a different story, however, as I get multiple errors of the form...
..\obj\project.assets.json' not found. Run a NuGet package restore to generate this file.
I get the errors both when I run the TFS build definition and when I remote to the box and build directly through the VS on the box itself.
This whole project.assets.json not found issue seems to be causing headaches all over. In my case the issue is that I'm trying to resolve it on our TFS 2017 Build Server, which does not and never will have internet access ('cos it's a server!).
All the solutions I've seen thus far seem to suggest running the Nuget Restore command but that can't work since the server cannot get to nuget.
This is nothing fancy yet, just a simple TFS 2017 Build definition with a Get sources and a Build solution step. I can't understand how something so simple has become so difficult.
Changing the Nuget Package Restore options makes no difference.
Since the project.assets.json files are generated on the fly in the obj folder, I can't even check them in to reuse. Can anyone please suggest a workaround, at the moment the test project is dead in the water.
Edit: trying the same process with a 4.6.1 web project created with VS2015 had similar results of unresolved references (e.g. System.Web) but didn't raise the same error, probably due to being an older, non-Core project.
According to I get the errors both when I run the TFS build definition and when I remote to the box and build directly through the VS on the box itself.
The issue seems not related to TFS build side since it also not work with local build through VS in the build agent machine.
Since this is a dotnet project. So, you could try to use “dotnet restore” and not “nuget restore”. Try using the dotnet core template (which uses dotnet restore).
If you are using authenticated nuget feeds, then you can use nuget restore but you also need to use nuget installer task. See https://github.com/Microsoft/vsts-tasks/issues/3762 for a discussion on that.
The Nuget version should be higher than 4.0.
Without dotnet restore and Nuget restore and only use get source/Visual Studio Build will not be able to build the dotnet core project. If your server do not have internet access, as a workaround you should use Local feeds.

Nuget package install error -- Invalid URI: The Authority/Host could not be parsed

I'm using NuGet within Visual Studio 2017 to try to install a package on an older Web Forms project, and it is failing with the following error:
Invalid URI: The Authority/Host could not be parsed
This only happens when trying to install the package on a website that is mapped in IIS (other types of projects work fine), so the project name is http://localhost..., etc., which is what I think it's having trouble parsing. It worked fine until just a few days ago and I'm not sure what caused it to change. Here is the full message I am receiving:
Resolved actions to install package 'Newtonsoft.Json.10.0.3'
Found package 'Newtonsoft.Json 10.0.3' in 'd:\packages'.
Package 'Newtonsoft.Json.10.0.3' already exists in folder 'd:\packages'
Install failed. Rolling back...
Package 'Newtonsoft.Json.10.0.3' does not exist in project 'http://localhost:89/'
Executing nuget actions took 71.95 ms
Failed to add reference to 'Newtonsoft.Json'.
Invalid URI: The Authority/Host could not be parsed.
Another related clue is that when I open "Manage NuGet Pacakges..." on the website project, it is not showing anything as being installed, even though the packages.config file clearly exists in this project with several references defined.
My environment is as follows:
Visual Studio Professional 2107 Version 15.5.2,
Microsoft.NET Framework Version 4.7.02556,
NuGet Package Manager Version 4.5.0, and my NuGet repository is set to install in D:\packages
Does anyone have any advice on what setting I might be able to change to get this working again?
NuGet does not appear to be working for local IIS Web Site projects in VS 15.5.1 to 15.5.5 (inclusive).
The workaround is:
Close VS
(Just in case) make a backup copy of the .sln (solution file)
In a text editor open the .sln file and find the line:
Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "http://www.devsite.com", "http://www.devsite.com", "{A8837508-9BC1-482A-86EF-4B3156CAFDBE}"
Amend the second parameter and save:
Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "http://www.devsite.com", "DevWebsiteFolderName", "{A8837508-9BC1-482A-86EF-4B3156CAFDBE}"
Open your solution.
Use NuGet as you wish :-)
Optional:
Close VS
Reverse your .sln change.
Open VS
For credit and further reference:
NuGet fails for website projects hosted on local IIS
Nuget looking in wrong location for packages.config in web forms web site running on IIS
This was driving me nuts... I spent hours trying to install the Authorize.net nuget package in VS2017 and it kept throwing the same error.
I finally opened my project up in VS2015 and installed it without any issues.
Hope this helps.
Jason
Given that we haven't gotten any help from Microsoft on this, we've adopted the convention of doing something like what Barry Kaye suggested, but for the second parameter, just replacing it with a single period "."
This issue appears to be fixed in 15.6.0. Try upgrading to that version, if you can.
I encountered the same problem and I solve it this way:
Right-click on the project -> Properties -> Debug -> App URL
(The app URL was not the correct one)

"This project is incompatible with the current version of Visual Studio"

I was getting the below message from Visual Studio 2010.
"This project is incompatible with the current version of Visual Studio"
One situation resulting in this error has already been posted here at Stackoverflow, but that question has been closed. I'm thinking it's a fairly generic problem. Since I have found a "solution", I'll post this question, and my solution as an answer.
If the message
This project is incompatible with the current version of Visual Studio
is due to an attempt to open a project targeting .Net 4.5, then the "solution" or workaround is to edit the .csproj file and change the TargetFrameworkVersion from "v4.5" to "v4.0". That at least allows the project to be loaded, although it may result in compiler errors if the program is dependent on 4.5 features.
VS 2012 has different project type support based on what you install at setup time and which edition you have. Certain options are available, e.g. web development tools, database development tools, etc. So if you're trying to open a web project but the web development tools weren't installed, it complains with this message.
This can happen if you create the project on another machine and try to open it on a new one. I figured it out trying to open an MVC project after I accidentally uninstalled the web tools.
I just got the same error message with a couple projects after installing Visual Studio 2015 Update 3. For me, the solution was to install .NET Core
In my case it was an incompatible Project Type. Editing project file and removing ProjectTypeGuids node resolved the issue of loading the project (I had already re-targeted the framework version as advised here).
Probably the project type is not supported in the (most likely) NEW version of VS, so you will have to adjust (update) the code to work properly (if possible), but at least you can see the content through VS.
I Resolved the issue by deleting the files in the below folder
%localappdata%\Microsoft\VisualStudio\12.0\ComponentModelCache
Source: https://forums.xamarin.com/discussion/70388/how-to-fix-incompatible-issue-after-visual-studio-2015-update-3
As for me, I realized there was another web project in the solution that my VS2017 was loading fine, so I copied over the ProjectTypeGuids element of it over to the project that wasn't loading. Its diff was:
- <ProjectTypeGuids>{E3E379DF-F4C6-4180-9B81-6769533ABE47};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
+ <ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
After this, it loads. Don't ask me why.
If you are getting the same error for a project which is actually an extension (.vsix), installing Microsoft Visual Studio 2012 SDK does the trick.
Go to tools -> Extensions and updates -> Online -> Search for project installer -> download
And relaunch Visual studio.
After installing Update 3 for Visual Studio 2015, I suddenly got the "This project is incompatible with the current version of Visual Studio" error message while opening my Cordova project (.jsproj Javascript project file)
To solve this:
Go to Programs & Features
Select the Microsoft Visual Studio 2015 installation and click Change
Click Modify
Install "HTML/Javascript (Apache Cordova) Update 10" of the Cross Platform Mobile Development section
For me, I got this same error in VS 2015 and just installed the VS 2015 update 1, though from another answer, VS is actually up to Update 3, now (after which, they got the error and had to install .NET Core). Had issues when it hit certain packages, like the Windows SDK ones, and had to point the installer back at the paths in my original CD, and for some, even that didn't work and had to skip them and re-download from an internet-connected computer, transfer them over, and run them later manually (computer was not connected to the internet to be able to download updated versions of the packages), but after doing all that and doing a reboot, the error was gone and my project loaded fine.
I had this issue and after hours of uninstalling and reinstalling I found out the issue in my instance.
The reason why I got this was down to the fact that I didn't have the correct extension.
In my case the ASP.net project (my startup) was the incompatible project and this was because I didn't have the following:
Microsoft ASP.NET and Web Tools
Micrsoft ASP.NET Web Frameworks and Tools
It was a simple case of going into extensions and updates under the Tools menu
I had this error and found it was due to the presence an 'Import' XML tag inside the .csproj.user file. Once I removed it, Visual Studio could open the project again.
What most people forget it is that the files of visual studio are just text files, that have some peculiars configurations that will show to the program how to open it. that is, we can change this because it's just a text in some file in there in your project folders.
Well, knowing this, what we have to do is very simple!
The first step is knowing what kind of project it is this project that stay unload. (for example: Class Library)
The Second step is create a new one (Class Library) because you know that your visual studio will create a version supported by himself. Unload this one and click in "Edit csproj".
It's in this file that we can found the configuration that tell to VS how this proj will be loaded and his name is ProjectGuid, this serial number has a variation according the type and version of project.
Now, look at your "ok project", copy the "ProjectGuid" TAG, paste on csproj that unloaded, and pay attention to the little differences and make this files almost equals, except for the tags ItemGroup that represent the references of the project.
Doing that, save all files and close your VS and open again, now your project should load normally.
I hope that this informations help somebody to understand a bit more how the VS works and help solve the problems when necessary.
I checked if i could create a new solution and was unable because SSAS,SSIS and SSRS weren't there as options.
I downloaded SSDT from here and installed and it worked...
https://learn.microsoft.com/en-us/sql/ssdt/download-sql-server-data-tools-ssdt?view=sql-server-2017
In case you came here looking for the issue with ".smproj" file, it is because you are missing SQL Server Analysis Services(SSAS). To over come this, install SQL Server Data Tools(SSDT) in your system, restart your Visual Studio and it will work.
Thanks.
This is my answer, I think it's useful. Please follow below steps:
1.First check your Visual studio version is 2012, 2015 or 2017 etc.
2.Your project is developed in 2015, but your visual studio 2012, then visual studio 2012 should not open the which are developed in visual studio 2015 projects.
3.If developed project visual studio 2012 and you have visual studio 2012, open the project but here need to check one option as per below
a) Target Framework - Open your project ".csproj" file with notepad++ and search with "TargetFrameworkVersion" and observe target framework value.
b) Open any existing project in your visual studio - Select project at 'Solution Explorer' - Right click - Properties - Application -Select Target Framework - Observe highest your framework which you have
c) 3.a and 3.b frameworks both are should same otherwise applications are not open
d)If your target framework less than the project framework should install the latest's
e) above options do not work just Simply have another option modify the "TargetFrameworkVersion" value in '.csproj' file which is have in your visual studio.
Ex: in my visual studio target framework 4.0 but in '.csproj' file have TargetFrameworkVersion - 4.5, You need just change 4.5 to 4.0 and open the project
This issue might be caused when using VS 2015 with Update 3 installed on one PC and without update 3 installed on another. This was the problem in my case.

the application for project is not installed

I'm opening a solution that was apparently built on Visual Studio 2003 (not sure, I don't know anything about it) and trying to migrate to 2010. When trying to migrate I get the message:
the application for project '' is not installed make sure the application for the project type (.csproj) is installed.
If I open each one of the single projects of the solution they migrate fine but not the solution itself.
Right-click on the project file, then "Reload"
If your solution opens, but your project is showing as "incompatible", it may need to just reload. This worked for me when running an update from VS, and it did not recognize my njsproj
I know this is an old question, but it is still occurring in VS 2013.
I had an old VS 2003 web application. I opened it in VS 2013 (Ultimate) and had the error message:
Could not find the server on the local machine.
Creating a virtual directory is only supported on the local IIS server
along with
The application for project is not installed.
Yes, I am upgrading, and yes, I don't have some other elements ready. Giving me errors is fine - but why are you not completing the migration/load of the project. I can't fix the other issues if you don't LOAD ANYTHING! You loaded the subprojects, and then you told me that I should choose a later .NET Framework. Great, I did that. So why didn't you just finish loading the main project and let me fix the errors?
Lots of attempts to fix this failed. My final solution, just to get the project loaded was {arrow pierces chest, dies with Arghhhhhh on his lips}...
I located the {project}.csproj file. I found the <Reference> sections. The paths to the .NET Framework components were no longer valid and referred to old versions no longer installed (yeah, upgrading, remember?). I manually changed the paths to refer to .NET Framework 4.5 components. The project still didn't load.
Then I located the {project}.csproj.webinfo file. It referred to http://localhost/{stuff}/{project}.csproj, so I just set it to {project}.csproj. No luck. Then I just renamed the webinfo file to hide it. Eureka, the project was hot!
The project loaded, I got the "You have completed the first step in converting your Visual Studio .NET 2003 web project. To complete the conversion, please select your project in the Solution Explorer and choose the 'Convert to Web Application' context menu item." Which, of course, is not present, but is present as the very last item in the Project menu. Then I got the "This action will add designer and code behind files required for converting Web site projects to Web application projects. Do you want to continue?" You bet your posterior I want to continue! And now I have a project I can actually start to fix. Thanks, Microsoft, for the informative error messages.
If your projects individually migrate fine, then create a new blank visual studio 2010 solution, and add new projects individually (right click on solution->add->existing project)
But I'm not sure that your projects will load fine individually. There are project types that require some additional software to be installed in order to be supported. The most frequent problems I face are old projects built with old versions of asp.net mvc (1 or 2) and I have asp.net mvc 3 installed...or really old projects built with asp.net ajax...In those cases, you have to install that additional software and then import project, or find a tool to upgrade that project type to a newer version.
I found a solution that worked for Visual Studio 2017.
In Visual Studio, go to Tools > Extensions and updates. At the upper-right search box, search for "integration". It should come up with Analysis or Diagnostic Tools (or similar). Click Disable, then Enable. Exit the dialog, and close Visual Studio. Relaunch and open your solution again. Your projects will still complain they can't be loaded because of incompatibilities, but now you can right-click them individually and select "Reload Project" and they should load fine.
Credit goes to Paul Potter and Paul Shaughnessy at https://developercommunity.visualstudio.com/content/problem/216061/project-incompatible-application-not-installed.html - I just did the verification work, condensing the information, and delivery :)
Adding this answer as reference for people who landed here for missing ".smproj" file.
This issue can arise due to various project files missing. For me, it was because of ".smproj" file missing which is Project file for SQL Server Analysis Services(SSAS). I re-installed SQL Server Data Tools (SSDT) and restarted the Visual studio.
Originally Answered here
Sometimes the SSIS or SSAS Extension in "Manage Extension" is disabled in the settings and must be Enabled manually. And then restart Visual Studio
It happened to me as wel.
You usualy do really need only to reload project in the solution. But in some cases you maybe:
didn't install SQL Server Data Tools (SSDT) for VS
have to enable SQL Server Data Tools manualy in the Extensions
If you have both things settled then try to reload project again. This happened to me when I moved from VS2019 to VS2022 and extension was somehow disabled.
I am using visual studio 2019 and I was faced with this issue when I reopened my ASP.Net webform App in visual studio after modifying for install SSDT.
this problem happens when Visual studio packages will modify (Especially when SSDT will be installed).
To solve this problem you have to go to you project folder and looking for the folder that named '.vs', this folder is hidden.
Deleting these folder will solve the problem because after that when you will open your project with visual studio, it will create the folder again.
Adding this for those who face issues for SSRS projects in VS2017 from earlier version as this comes up in google search.
In Visual Studio, go to Tools > Extensions and updates. Download the below :
Microsoft Reporting Services Projects
Microsoft RDLC Report Designer
In SSIS 2017, t the upper-right search box, search Microsoft Integration Services Projects.
go to Tools > Extensions and updates.
Enable -"Microsoft Integration Services Projects"
This will help to resolve the issue re-launch the SSIS
For my case, I disabled this extension and turns out, it is needed.
Enabling it resolved my problem.
In VS2019 Before you try any of the above right click the solution and click "Resolve Errors" no kidding that made my tabular model solution being available again.
For me what worked was a variation of #vapcguy solution.
Go to #vapcguy link for Paul Potter and Paul Shaughnessy solution: https://developercommunity.visualstudio.com/content/problem/216061/project-incompatible-application-not-installed.html - I
Follow comment on Paul Potter's post by Albert Romeo
Integration Services Plugin was disabled(as explained before: Goto Tools > Extensions and updates > and search for integration/analysis/reporting and enable application
I had to enable integration services, then reload project. I don't know why since I've been using the same SSIS project several times a week for months.

How to avoid installing Microsoft Visual Studio 2008 Team System Database Edition to be able to build DBPro projects on a centralized build server?

I have a DBPro (DataDude) project inside my solution to manage and version the database schema of my application. I use TeamCity 4.0 for continuous integration.
To be able to build a .dbproj, MSBuild tasks and their respective assemblies have to be installed, other .dbschema and .xsd dependencies put in place. The easiest solution is to install VS2008 TS: Database Edition on the build server.. something i'd love to avoid. I have started putting the files in place one by one bot got bored after the build failed on some missing XSD files installed by VSTSDB.
Has anyone found an easy way to avoid installing VSTSDB? A community-made 'redist' installer that puts the right files in the right place and the right assemblies into the GAC? The topic is pretty hard to google so I am hoping to tap the stack overflow knowledge base :)
I am aware of the Deploy folder and vsdbcmd.exe but I would like to build (and deploy).
No. Not according to this post by Gert Drapers
The question is if you are able to build the db using command line (like devenv.exe with some arguments)? If so I see no problem installing the dev environment and executing through a command line task in MSBuild on the build servers. I do the same thing for MSI installers in the projects I manage.

Resources