分叉一个项目,但什么是.pp?

时间:2015-06-03 13:11:20

标签: c# git nuget

很抱歉,如果这不是发布此类问题的正确位置...如果它应该在其他网站上,请告诉我或随时关闭。

我有一个关于github的简单问题。我对它很陌生并且"分叉"我想要贡献的一个项目。

然后我在本地克隆它,然后在它里面查看它。我注意到.cs个文件有一个额外的.pp扩展名,目的是什么?因此,而不是Agent.csAgent.cs.pp

此类项目one如何处理.net方面。我是说我看到了html文件和.js文件。但.net(cs文件)不包含与之关联的项目或解决方案。它们只是以.cs.pp的形式出现。如果我想修改这些文件,我应该创建一个新项目并将它们添加到我的项目中吗?

很抱歉github新手问题,但我对它很新,尽管我确实使用过Subversion。

1 个答案:

答案 0 :(得分:8)

为NuGet预处理(pp)C#源文件。请参阅Configuration and source code transformation (NuGet)

  

通过在代码中包含Visual Studio项目属性来指定源代码转换。这些属性使用美元符号($)分隔。

将NuGet中的代码添加到VS项目时,它将替换这些属性,从而生成可编译的代码。

在您提供的LSCK示例中,添加NuGet引用后的结果为:

LSCK in Solution Explorer

将Github上的文件与本地文件进行比较,您会发现.cs.pp已转换为.cs并且代码中的$rootnamespace$已被替换为项目

要做出贡献,您可以自己创建此类文件:使用NuGetContentGenerator可以实现相反的方式(.cs - > .cs.pp)。