编辑 sln、proj、suo 文件的最佳实践?

问题描述 投票:0回答:7

在.NET中,每个解决方案/项目都有SUO、SLN、Proj文件。虽然我知道这些文件是什么,但手动编辑它们是否明智?它们是否需要进行编辑?如果是这样,最好的方法是什么?

谢谢

.net visual-studio
7个回答
11
投票

您可以编辑许多可用的文件。 文档中甚至有相关说明http://msdn.microsoft.com/en-us/library/ms171487(v=VS.90).aspx

解决方案文件不是 XML 格式,您可以在此处找到有关 .SLN 文件内容的信息: https://learn.microsoft.com/en-us/visualstudio/extensibility/internals/solution-dot-sln-file

项目文件是 MSBuild 脚本,因此经常对其进行编辑(使用工具或手动)以包含修改构建配置的项目以满足您的需求。 以下是可能有帮助的 MSBuild 参考链接: http://msdn.microsoft.com/en-us/library/0k6kkbsd.aspx

.SUO 文件是您的用户选项,不应直接编辑。 我亲自使用了二进制编辑器并对其进行了编辑,只是为了看看是否可以成功完成,但您需要自行承担风险。


2
投票

项目文件可以轻松地手动编辑 - 有时您必须这样做才能将 MSBuild 支持的项目添加到项目中,但 Visual Studio 不支持编辑(例如条件元素)。我有一个 Visual Studio 插件(我认为它可能是 PowerCommands),它将“编辑项目文件”选项添加到解决方案资源管理器的上下文菜单中。单击它将从 Visual Studio 中卸载项目,并以 XML 形式打开 prof 文件,以便在 Visual Studio 的 XML 编辑器中进行编辑。

SLN 文件不是 XML,但它们实际上并不包含任何值得手动编辑的内容。

我认为 SUO 文件是二进制的,不应编辑(它们仅包含解决方案的用户特定值)。


0
投票

当然,我偶尔需要编辑它们。最近,我有一个项目文件,其中启用了将程序集注册为 COM 对象的标志。在我删除所有 COM 可见的类后,这会生成一个警告,因此我从项目文件中删除了该行。我用的是记事本。


0
投票

很少需要编辑它们。一种情况是修改 ProjectTypeGuids,以便在 Expression Blend 中正确识别它。其他几次必须对不再存在的引用进行一些手动更改。

总而言之,这种情况很少见。 .prj 文件是 XML,因此任何好的 XML 编辑器就足够了。 VS 中的属性页面显然也引用了 .prj 文件,以进行不想手动进行的更改。


0
投票

我从来没有编辑过 SUO 文件 - 甚至不知道它的作用。

对于 .sln 和 .proj 文件,它们当然可以手动编辑,但对于任何复杂的事情,我发现最好让 VS 来完成艰苦的工作,然后根据需要对文件进行外科手术编辑。

在我的工作场所中发生很大变化的一件事是采用 PropertySheets 来定义跨不同项目的一组通用设置。


0
投票

我们的许多 csproj 文件都经过编辑以使用高级 msbuild 功能。一件常见的事情是更改自定义任务的 beforebuild 和 afterbuild 目标。
您可以在 Visual Studio 中通过右键单击项目并从上下文菜单中选择“卸载项目”来执行此操作。之后,您可以再次使用右键单击编辑并重新加载项目。


0
投票

编辑项目文件时,您可以在 Visual Studio 中右键单击项目,然后选择“卸载项目”。然后,您可以右键单击同一个项目(现在呈灰色)并选择编辑。完成后,再次右键单击并选择重新加载。

© www.soinside.com 2019 - 2024. All rights reserved.