I'm trying to configure automatic build of a Xamarin Forms application, for Android and iOS, using Visual Studio App Center, but after choosing the branch in Build App\Project select box I cannot see my projects (.csproj files). Or better, I'm not able to see the .csproj files of projects I have to build (customers' customizations), but I can see the .csproj of my core projects.
Configuring iOS build I was able to select the .sln file, and it worked, but on Android I cannot see neither the .csproj nor the .sln.
My repository structure:
root folder
src
main solution file
Core projects
customers' customizations folder
customer A folder
customer A .sln
customer A iOS, Android and Forms folders, each one with a .csproj file
...
After hours of blasphemies I've found the reason here: https://learn.microsoft.com/en-us/appcenter/build/xamarin/android/
For best performance, the analysis is currently limited to four
directory levels including the root of your repository.
My repository was too deep and .csproj files weren't reachable. I contacted Microsoft to ask if I had to change my repository structure and they said that yes, the only solution to quick solve was to remove a "layer", so I deleted the src folder moving all the content at the top level.
Related
[![this is my webApi project solution structure.this have multiple projects added][1]][1]
how can i publish these kind of projects in visual studio 2019
[1]: https://i.stack.imgur.com/Z42EP.png
I'm assuming by publish you do not mean you just want the DLL's.
Those are class library projects, they cannot be published by themselves.
If you want to publish a project you need to build either a web api, console application, wpf, web forms, etc. You can then add the class library projects as project references to the project you wish to publish. When you publish one of those projects, the dlls for the class library projects automatically get built along with them.
In the example in the screenshot you provided, you would publish "ThriftPlanningWebApi". That would automatically publish all the dlls for the class libraries along with it.
If you do want the raw DLL's simply build the project in release mode, navigate to the file location of the project. In the bin folder there should be a folder called "release". That folder will contain all your dlls.
Let me know if you need anything else.
Happy coding :)
I just simple know that is a published project, but how to open that file as a project? Here is the story, I got a file from a contractor with all the project and the pages and I would like to check the code and run the project from Visual Studio 2017.
Sorry about my ignorance and thanks in advance.
You can't.
What you can do though is create an ASP.Net Project (e.g. .csproj) and then right-click on a folder or the root of that Project and select "Add Existing Web Site...". This adds your site to that solution.
Note that .publishproj projects ("Web Site" Projects, aka "Web Applications") are not really compiled/built. (Though they can be pre-compiled, but that's not the same thing).
Web Sites are "published" not "built". Note that publish profiles (.pubxml) files are stored in /App_Data/PublishProfiles folder and work very much the same as .csProj files. In fact MSBuild will recognize some of the same elements, such as <task> and <using>. You just have to manually add them.
I had done a project by using ASP.NET MVC. How do I copy and paste the project to an external drive. I have to submit my project as coursework yet they request to copy the entire project to a CD/VCD.
The problem is when I copy & paste the project into a CD, it can't run properly with loads of errors. How do I do this in the cleanest way possible?
Snippet:
Here's the warning message.
You can delete .vs folder. Visual Studio will recreate it, when you open the project.
The main issue is Visual Studio cannot read and write to CD. However, you can copy the project into USB Flash Drive, and open the project straight from it.
Starting from Visual Studio 2012, Microsoft uses IIS Express by default to host ASP.NET applications, which relies on a file applicationHost.config to store the site information.
The design of applicationHost.config, means a physical path to your project directory is hard coded which prevents this project from running if you simply copy the project to another location on another machine without updating applicationHost.config. What's worse, starting from VS2015 this applicationHost.config lives in .vs folder inside your project directory, which can be copied to other machines by mistake.
Read my blog post to understand the technical details if you like,
https://blog.lextudio.com/jexus-manager-secrets-behind-visual-studio-iis-express-integration-834f88c8e8b
We have a main web application that references several other projects. Do you check-in .csproj/.sln files into source control? If so, do you use these files for msbuild or do you just include *.cs to build your dll? Does ILMerge help in any way with performance?
You should aim to check in everything that is needed so that someone can take a fresh install of Visual Studio, do a checkout, double-click the .sln file, build and be on their way.
.sln and .csproj are a no-brainer, in my opinion: what happens if you add a new file to the project: everybody would have to manually add the file to their project files if you didn't commit the .csproj file.
ILMerge - no. Not for web applications. Not for the rest either.
Checkin? What about letting visual studio handle it. Now, in general - source control without all relevant files is garbage ;) So, it should include stuff like the project and solution.
I have a web site project with a lot of files, it has become really slow to build. What I want to do is to create a web application project, and in Explorer add all the files to it, including the Bin folder. In Visual Studio I will not add these files (Show All Files will show them), only new files in one new folder that I am going to work on.
There are several assemblies in the original Bin folder that I need to reference in the web application project. Also, I will include the original web.config file.
So what way am I going to regret this in a few days?
You wont have support for all the old stuff when using the Visual Studio Publish feature (I assume you wouldn't anyways).
I also would assume you wont have access to what is in your App_Code from your new web application project.
I will add an answer myself.
A rebuild in Visual Studio will clean out the bin folder...