问题标签 [csproj]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
3376 浏览

c# - 使用 .csproj 文件的 C# nant 构建

通常在为 C# 编写构建脚本时,我只为每个要构建的项目/dll 包含 **/*.cs。但是,我现在遇到了一些 .cs 文件,这些文件不是项目的一部分,但存在于该目录中(它们存在于另一个库中以供参考)。.csproj 文件中没有链接,因此 VS 构建工作正常,但 nant 构建没有。

有谁知道是否有一种简单的方法可以将 .cs 条目从相关的 .csproj 文件中提取出来,并将其用作要构建的源文件列表,而不是使用通用通配符匹配。

提前致谢。

0 投票
2 回答
913 浏览

c# - 来自 VS2008 的 csproj 无法使用 mono xbuild 编译

我在 CentOS 上使用从源代码编译的 Mono 2.6.4 在 C# 中编译 VS2008 项目。一些 csproj 编译,但这个没有,这是 xbuild /t:detailed 的输出:

有人有想法吗?谢谢 ?

0 投票
2 回答
11496 浏览

c# - MS-Build BeforeBuild 未触发

我正在自定义一个.csproj项目以在主构建之前运行一些自定义任务。但是,我根本无法执行任务。

我取消了文件中的<Target Name="BeforeBuild" />元素的注释.csproj并添加了一个简单的消息任务,但是当我构建时,消息没有出现在我的输出中,所以似乎任务没有运行。所以这个片段不输出消息;

清单 1:没有消息出现

但是,如果我搞砸了某些属性,我可能会.csproj导致根本无法执行;

清单 2:MSBuild 配置错误

注意XXImportance属性。我得到的构建错误是

这表明正在解析 XML,Message已找到该类,并且正在反映该类以获取可用属性。

为什么任务不执行?

我正在使用 3.5 框架。

更新 1:根据@Martin 的建议,我尝试在控制台上运行 MSBuild,但出现此错误;

第 74 行读取;

更新 2:我在 VS2008 中编译,它使用 C#3 编译器,但我正在编译的项目是框架 2.0 项目。从命令行运行时(请参阅更新 1),构建似乎失败了,因为Microsoft.CSharp.targets文件的指定位置存在混淆。

0 投票
2 回答
24983 浏览

visual-studio - 在 Visual Studio 2010 中打开现有项目

全部,

我有一个最初是在 vs 2005 或更早版本中编写的项目(不记得我没有写它)。我在 vs2008 中打开它并转换它,虽然它仍然有 csproj 文件。sln 文件状态:

Microsoft Visual Studio 解决方案文件,格式版本 10.00

视觉工作室 2008

项目(“{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}”)=“foo”,“foo.csproj”,“{BF9BAC88-C507-404D-928C-BC08193F5CCD}”EndProject

我在vs2008中多次使用该项目,没有任何问题。

现在我在虚拟机上运行vs2010,想在里面打开这个项目。但是,当我尝试时,出现“无法打开,因为此版本的应用程序不支持其项目类型 .csproj”错误。主要解决方案文件是 foo.sln、foo.csproj 和 foo.csproj.user(除了代码文件)。我有点困惑,因为我认为在 vs2008 中使用它(并进行初始转换)会使跳转到 vs2010 无痛。

我错过了什么?我所有的搜索都以同样的几篇关于 2008 年转换项目的帖子结束。

谢谢!

0 投票
8 回答
8757 浏览

c# - 如何获得 C# 项目之间的依赖关系图

我有一个相当复杂的应用程序,它被分解成多个组件。每个组件都有一个解决方案文件,其中包含一堆项目。所以我喜欢把它想象成一个组件中有多个项目/dll。还有一个“通用”组件。所有其他组件都依赖于“common”。所以编译是这样的: "nant component1.compile"将编译“common”,然后编译 component1,因为 component1 依赖于“common”。随着时间的推移,“普通”变得相当大。我很确定它可以分成几个更小的组件。然后组件只需要依赖于其中一些较小的、被分解的“通用”。这有望减少不同组件的编译时间。

所以问题:我想可视化应用程序中所有不同项目之间的依赖关系,同时标记项目所属的组件。你会怎么做?

0 投票
1 回答
360 浏览

java - Java Project Explorer 在 Eclispe IDE 中从哪里加载文件

我是一个 .Net 人,习惯于将 csproj/vbproj 文件作为 .Net 项目中所有文件夹/文件的中央存储库。

Eclipse IDE 中的 Java 资源管理器中的等价物是什么?它在哪里存储文件夹/资源及其物理路径等?

0 投票
3 回答
5168 浏览

c# - XPath 和 *.csproj

我肯定会在这里遗漏一些重要的细节。我只是无法使 .NET 的 XPath 与 Visual Studio 项目文件一起工作。

让我们加载一个 xml 文档:

现在执行我的查询:

当然,文件中有名为 ItemGroup 的节点。此外,此查询有效:

对于其他文档,XPath 工作得很好。我对此感到非常困惑。谁能解释一下发生了什么?

0 投票
2 回答
3452 浏览

.net - 从解决方案 sln 的所有 csproj 项目中读取参考列表(以编程方式)

我有解决方案 sln,它有很多 csproj 项目。

有人知道以编程方式读取 sln 文件的 VS2008 中所有 csproj 项目的参考列表的方法吗?

0 投票
1 回答
882 浏览

msbuild - Tfs2010 内部版本号和程序集文件版本和 MSBuild 目标

我阅读了 John Robbins 的文章TFS 2010 Build Number and Assembly File Versions: Completely In Sync with Only MSBuild 4.0,我想知道如何进行集成。

文章的下载有两个文件,一个是targets文件,一个是proj文件。

目标文件有许多任务可以根据 Tfs 内部版本号(与用于构建的版本号相同)刮出内部版本号,并将该编号写入某个位置(称为 BuildNumberFile)以供其他项目文件使用。

proj 文件非常简单。它只是导入上述目标文件,然后声明一个名称为“All”的目标,同时还将 Project 元素上的 DefaultTargets 声明为 All。

我对此有两个问题:

  • 我还在学习 MSBuild。如果目标的名称没有在目标的其他地方指定,那么目标是否被执行?如何确保运行此目标?
  • csproj 文件是否应该为 BuildNumberFile 所在的位置声明一个 Include 项,即使它在编译时才存在?
  • ItemGroups 和 Include 是否有 DependsOnTargets 或允许他们在构建之前确保文件存在的东西?
  • 是否应该将使用它的 csproj 文件的全部内容包装在一个目标中,该目标表示 BuildNumberFile 的 DependsOnTargets?

谢谢!

0 投票
3 回答
5769 浏览

c# - MSBuild 构建后

我有一个 MSBuild 脚本,除了我的构建后步骤之外,它只是做我需要它做的所有事情(请参阅我之前提出的一个问题:MSBuild conditional Exec?)。

我要做的是构建许多 csproj 文件,并且当且仅当项目已构建时可选地执行构建后步骤。我不想一直执行我的构建后步骤,否则我最终输出的时间戳将被不必要地修改(并且它无缘无故地使构建过程非常耗时)。

在我的 MSBuild 脚本中,我的每个 csproj 文件都有以下内容:

编辑: 我认为我真正想做的是检测 CoreCompile 任务何时为每个项目运行。如果有某种方法可以检查这种情况?

有任何想法吗?

我是 MSBuild 的新手,所以也许我完全走错了路!

谢谢,艾伦