Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将MSBuild.proj文件添加到解决方案中?_Msbuild - Fatal编程技术网

如何将MSBuild.proj文件添加到解决方案中?

如何将MSBuild.proj文件添加到解决方案中?,msbuild,Msbuild,有人知道如何将MSBuild.proj文件添加到我的解决方案中吗 我刚刚从一家供应商那里得到了现有代码,其中有一个解决方案将MSBuild.proj文件作为其项目之一引用。打开解决方案时,项目显示为(不可用)。似乎我需要安装某种项目模板才能正确打开此项目。我安装了,但似乎不是这样 有什么想法吗?我真的成功了!我重新启动了VisualStudio,但在安装了上面提到的MSBuild模板之后,仍然看到项目不可用。我不得不手动重新加载项目。这解决了问题。如果您不需要IDE支持,可以使用MSBuild解

有人知道如何将MSBuild.proj文件添加到我的解决方案中吗

我刚刚从一家供应商那里得到了现有代码,其中有一个解决方案将MSBuild.proj文件作为其项目之一引用。打开解决方案时,项目显示为(不可用)。似乎我需要安装某种项目模板才能正确打开此项目。我安装了,但似乎不是这样


有什么想法吗?

我真的成功了!我重新启动了VisualStudio,但在安装了上面提到的MSBuild模板之后,仍然看到项目不可用。我不得不手动重新加载项目。这解决了问题。

如果您不需要IDE支持,可以使用MSBuild解决方案扩展目标来实现这一点

使用以下代码创建名为“before.SolutionName.sln.targets”的文件:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <ProjectReference Include="CustomProject\CustomProject.proj">
      <AdditionalProperties>Configuration=$(Configuration); Platform=AnyCPU</AdditionalProperties>
      <Configuration>$(Configuration)</Configuration>
      <Platform>AnyCPU</Platform>
    </ProjectReference>
  </ItemGroup>
</Project>

配置=$(配置);平台=任何CPU
$(配置)
任意CPU

当您的解决方案由MSBuild(ie/build server)在命令行上生成时,自定义MSBuild项目将被拉入MSBuild将解决方案转换为的临时内存中项目文件。

解决方案扩展目标是否记录在任何位置?我刚刚通过检查.sln.metaproj.tmp文件发现了“before”和“after”目标文件,但在MSDN上找不到它的引用。不确定-我相信我也是通过检查metaproj.tmp文件得到的。但这可能没有实际意义-我的理解是,Visual Studio的下一个版本最终也将使用MSBuild for.sln文件:)