使用visual studio打开时,创建将csproj文件加载到解决方案资源管理器中的proj文件

时间:2016-04-28 05:51:34

标签: visual-studio-2013 msbuild

我正在为我的应用程序构建一个项目文件,我将从我们的构建机器执行。我想知道是否有可能打开项目文件并获得相同的视图,当我打开解决方案文件时,visual studio为我提供了解决方案。

到目前为止,这是我的Contosa.proj文件。

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)'=='' ">Debug</Configuration>
    <RootNamespace>Contosa</RootNamespace>
    <AssemblyName>Contosa</AssemblyName>
  </PropertyGroup>

  <ItemGroup>
    <Projects Include="C:\Users\localuser\Documents\Perforce\Contosa\Branches\Working23\UI\Desktop\ContosaClient\ContosaClient.csproj" />
  </ItemGroup>

  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

  <Target Name="Build">

    <PropertyGroup>
        <Contosa>$(MSBuildProjectDirectory)\UI\Desktop\ContosaClient\ContosaClient.csproj</Contosa>
    </PropertyGroup>



    <MSBuild Projects="$(Contosa)"
                 Properties="Configuration=QA;
                             VisualStudioVersion=12.0;
                             DevEnvDir=C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\;
                             SolutionDir=$(MSBuildProjectDirectory)\"/>
  </Target>
</Project>

目前,使用visual studio双击此文件作为其关联的应用程序将打开Contosa.proj进行文本编辑。我真的希望可以将Contosa.proj文件与Visual Studio关联,就像我们的Contosa.sln文件一样。因此,当开发人员使用visual studio打开它时,他们会获得与Contosa.sln相同的视图。我不明白csproj或sln文件的哪些部分会将它们作为visual studio中的项目或解决方案打开。

更新1

我希望做这个用户Replace .sln with MSBuild and wrap contained projects into targets所做的事情,但我希望项目文件能够像解决方案文件一样由用户打开。我希望将我包含的项目加载到解决方案资源管理器中。

1 个答案:

答案 0 :(得分:0)

当visual studio安装时,它会配置资源管理器以在双击.csproj(How can I set a file association from a custom file type to a program)时启动visual studio。您的窗口和开发人员窗口不知道.proj是什么。因此,重命名.csproj或分发引用.proj

的.sln