zhengchun/Bobo-Browse.Net — pull request #3 by NightOwl888 (2014-11-21 17:50:32+00:00)
Title: Updated build script

The commit messages explain the changes pretty well. You need to be careful when updating the project and solution files because the build script depends on conditional logic in them. As far as I know, targeting multiple versions of .NET can only be done by hand editing the project files so the dependencies can be switched dynamically to the correct versions.

Visual Studio doesn't display this scenario very well - it shows a bunch of duplicate dependencies with warnings on them, like the below image shows.

![image](https://cloud.githubusercontent.com/assets/1538288/5146419/dc5002d6-71de-11e4-9cd1-d9cf8fcc36e5.png)

Rest assured, as long as you can build the project, this is fine. Visual Studio knows how to apply the conditional logic on them even though it doesn't know how to properly hide them. If you need to edit a dependency, make sure it isn't in the list more than once before you start editing. If it is, you should not use the built-in Visual Studio tools and instead edit the .csproj file by hand so as not to inadvertently remove the conditional logic.

The configuration manager dropdown contains the framework versions. When you switch the dropdown to another version, it will change all of the projects in the solution to that version and, in turn, it will change all of the dependencies to the version that will work with that framework version.

![image](https://cloud.githubusercontent.com/assets/1538288/5146461/5ccefc3c-71df-11e4-8b66-061722503320.png)

Anyway, suffice to say you shouldn't check in the changes to your project files unless you are sure you intend to apply them. I use the [Git Source Control Provider](https://visualstudiogallery.msdn.microsoft.com/63a7e40d-4d71-4fbb-a23b-d262124b8f4c) plugin and it works great for excluding specific files from being checked in. The build script should always work after you do a patch. You can run the build from the root of the project by running the following command from the root project directory.

```
build.bat -v:1.1.1 -pv:1.1.1-alpha00006
```

If you get an error, you may need to run this command from an administrative cmd window first:

```
Set-ExecutionPolicy RemoteSigned
```