【发布时间】:2019-03-30 20:49:13
【问题描述】:
有没有办法或扩展来做以下事情:
有一个*.sln 文件,我可以列出该 sln 下所有项目或所有解决方案文件夹中的所有文件吗?
因此,如果我执行dotnet sln list,那么我会从该解决方案文件中获取项目列表,但我需要的是获取所有文件。
我真正的需要是将所有这些文件复制到不同的文件夹中。
【问题讨论】:
-
使用 Microsoft.Build.Evaluation 之类的程序集,您可以加载项目文件并从中获取源文件(假设这是您想要的,您只需指定“文件”?)。或者,如果您不使用通配符来选择文件,那么将项目文件解析为文本是相当容易的。
-
有些是用通配符指定的。有些被排除在外。我需要所有文件、源代码、资源,任何东西都包含在 csproj 中。我会探索那个 api。
-
运气好吗?实际上,考虑一下:可能您甚至不需要直接使用 api,但是您可以从命令行使用 msbuild.exe 并通过编写一个执行此操作的小目标来指示它将所有文件转储到文本文件左右然后将该目标导入到您的项目文件中,并使用 ImportAfter 之类的扩展点。没有时间在自动取款机上写答案,但我很确定这样可以解决问题。
-
还没查。也是。 net core,所以格式有点不同。可能
dotnet build实现有答案。 -
在此处查看程序化解决方案:stackoverflow.com/questions/53070977/…
标签: .net build msbuild .net-core dotnet-cli