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



我正在为我们的应用程序构建一个项目文件,我将在构建机器上执行该文件。我想知道我是否可以打开项目文件,并在打开解决方案文件时获得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:UserslocaluserDocumentsPerforceContosaBranchesWorking23UIDesktopContosaClientContosaClient.csproj" />
  </ItemGroup>
  <Import Project="$(MSBuildToolsPath)Microsoft.CSharp.targets" />
  <Target Name="Build">
    <PropertyGroup>
        <Contosa>$(MSBuildProjectDirectory)UIDesktopContosaClientContosaClient.csproj</Contosa>
    </PropertyGroup>

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

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

更新1

我想做这个用户用MSBuild替换.sln并将包含的项目包装到目标中所做的事情,但我希望项目文件能够像解决方案文件一样由用户打开。我希望将我包含的项目加载到解决方案资源管理器中。

安装visual studio时,它会将资源管理器配置为在双击.csproj时启动visual studio(如何设置从自定义文件类型到程序的文件关联)。您的窗口和开发人员的窗口都不知道.proj是什么。所以请将其重命名为.csproj或分发引用.proj 的.sln

最新更新