.vssbe
All shared settings will be located in solution directory as .vssbe text-based file.
v0.9+ uses the JSON format (text-based language-independent data interchange format)
You can also ignore this from your repo with scm if needed (.gitignore, .hgignore, .bzrignore, svn:ignore, etc.,)
Samples
- Simple .vssbe from GetNuTool project: for build, test, and zip-packing of binaries.
.vssbe for each .sln (Solution File)
For v0.11.2+ you can also define the special version of configuration file for specific solution.
<SolutionFile>.vssbe
For example:
If you have a different solution files:
- app_2012.sln
- app_2013.sln etc.
you can also define specific configuration like this:
- app_2012.vssbe
- app_2013.vssbe etc.
The specific configuration in the priority if the .vssbe used along with [SolutionFile].vssbe.
.vssbe.user
The .vssbe.user
appeared in v0.12.4 as user configuration (for specific user).
We strongly recommend to ignore this from your SCM, because this contains settings e.g.: value of zooming & Word wrapping of main editor, DebugMode & CacheData of binaries for C# Mode, etc.
.vssbe optional 'Command__' property
Appeared in v0.12.4 for convenient using directly in file (reading or direct modifications).
However, the 'Command__' property is temporary and used for compatibility with format v0.9.
This can be inconvenient and we also added settings (until upgrade of format) to turn off this field:
Settings
-Plugin
-Suppress 'Command__' property
Unified Project name for different .sln
You can see the inconvenience with MSBuild / SBE-Scripts engines or any incorrect behaviour in UI if you have a few .sln versions for your project.
This is so because it's default behaviour for naming projects by name of files in visual studio.
For example, current project is also uses a few solution files, for example:
- vsSolutionBuildEvent.sln, vsSolutionBuildEvent_2012.sln, vsSolutionBuildEvent_2015.sln
This files contains a few projects with different settings, for example:
- Devenv.csproj, Devenv_2012.csproj, Devenv_2015.csproj
So the ProjectName
can be as 'Devenv_2012', 'Devenv_net40' etc. if you open .sln
Some projects may be manually configured for using with one unified project file (*.csproj, *.vcxproj, etc.), like:
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
...
<Import Project="MyProject.csproj" />
<PropertyGroup Condition="'$(VisualStudioVersion)'=='12'">
<PlatformToolset>v120</PlatformToolset>
<ToolsVersion>12.0</ToolsVersion>
<OldToolsVersion>4.0</OldToolsVersion>
</PropertyGroup>
...
or:
<PropertyGroup>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<NetTargetVName>net40</NetTargetVName>
<DefineConstants>NET_40</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release_net45|AnyCPU'">
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<NetTargetVName>net45</NetTargetVName>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>NET_45;CODE_ANALYSIS;CODE_ANALYSIS</DefineConstants>
</PropertyGroup>
or for example:
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">0</VisualStudioVersion>
<VsSDKVersion Condition="'$(VsSDKVersion)' == ''">0</VsSDKVersion>
<TargetFrameworkVersion Condition="'$(VisualStudioVersion)' > '10' or '$(VsSDKVersion)' > '10'">v4.5</TargetFrameworkVersion>
<csprojPostfix Condition="'$(VisualStudioVersion)' == '14.0' or '$(VsSDKVersion)' == '14.0'">_2015</csprojPostfix>
<csprojPostfix Condition="'$(VisualStudioVersion)' == '11.0' or '$(VsSDKVersion)' == '11.0'">_2012</csprojPostfix>
</PropertyGroup>
<ItemGroup Condition="$(SpecLibForEnvCI) != true">
<ProjectReference Include="..\vsSolutionBuildEvent$(csprojPostfix).csproj">
<Project>{32E44995-F621-4E77-B46A-8F65D64E7FEA}</Project>
<Name>vsSolutionBuildEvent</Name>
</ProjectReference>
</ItemGroup>
etc.
But some not…
And if your project cannot be shared between several versions of Visual Studio (for example, if you use the Experimental instance for debugging, etc.) Or if you only need the unified name and similar: you should define the unified project name for all used .sln with ProjectName property for specific project file.
Via User-Variables & Global MSBuild properties
The most easy way, just:
- Add action for
Sln-Opened
event (or similar). - Enable MSBuild support.
- Define new
ProjectName
property:
$(+ProjectName = 'MyUnifiedName')
- Activate event and click [Apply]
That's all. Restart your IDE and have fun.
Other or variant for old versions
You can define the ProjectName
property in your project files (*.csproj, *.vcxproj, etc.)
Firstly, try the Rename feature:
Or:
Define directly
- Open your solution file in Visual Studio, right click on your project in 'Solution Explorer' and click
Unload Project
:
- Click on
Edit ...
- Find or define new PropertyGroup and place inside the property ProjectName
<PropertyGroup>
...
<ProjectName>YourProjectName</ProjectName>
...
</PropertyGroup>
for example:
- Save, Close tab with project file and reload project:
Repeat all steps for other files.