在.NET中,每个解决方案/项目都有SUO、SLN、Proj文件。虽然我知道这些文件是什么,但手动编辑它们是否明智?它们是否需要进行编辑?如果是这样,最好的方法是什么?
谢谢
您可以编辑许多可用的文件。 文档中甚至有相关说明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 文件是您的用户选项,不应直接编辑。 我亲自使用了二进制编辑器并对其进行了编辑,只是为了看看是否可以成功完成,但您需要自行承担风险。
项目文件可以轻松地手动编辑 - 有时您必须这样做才能将 MSBuild 支持的项目添加到项目中,但 Visual Studio 不支持编辑(例如条件元素)。我有一个 Visual Studio 插件(我认为它可能是 PowerCommands),它将“编辑项目文件”选项添加到解决方案资源管理器的上下文菜单中。单击它将从 Visual Studio 中卸载项目,并以 XML 形式打开 prof 文件,以便在 Visual Studio 的 XML 编辑器中进行编辑。
SLN 文件不是 XML,但它们实际上并不包含任何值得手动编辑的内容。
我认为 SUO 文件是二进制的,不应编辑(它们仅包含解决方案的用户特定值)。
当然,我偶尔需要编辑它们。最近,我有一个项目文件,其中启用了将程序集注册为 COM 对象的标志。在我删除所有 COM 可见的类后,这会生成一个警告,因此我从项目文件中删除了该行。我用的是记事本。
很少需要编辑它们。一种情况是修改 ProjectTypeGuids,以便在 Expression Blend 中正确识别它。其他几次必须对不再存在的引用进行一些手动更改。
总而言之,这种情况很少见。 .prj 文件是 XML,因此任何好的 XML 编辑器就足够了。 VS 中的属性页面显然也引用了 .prj 文件,以进行不想手动进行的更改。
我从来没有编辑过 SUO 文件 - 甚至不知道它的作用。
对于 .sln 和 .proj 文件,它们当然可以手动编辑,但对于任何复杂的事情,我发现最好让 VS 来完成艰苦的工作,然后根据需要对文件进行外科手术编辑。
在我的工作场所中发生很大变化的一件事是采用 PropertySheets 来定义跨不同项目的一组通用设置。
我们的许多 csproj 文件都经过编辑以使用高级 msbuild 功能。一件常见的事情是更改自定义任务的 beforebuild 和 afterbuild 目标。
您可以在 Visual Studio 中通过右键单击项目并从上下文菜单中选择“卸载项目”来执行此操作。之后,您可以再次使用右键单击编辑并重新加载项目。
编辑项目文件时,您可以在 Visual Studio 中右键单击项目,然后选择“卸载项目”。然后,您可以右键单击同一个项目(现在呈灰色)并选择编辑。完成后,再次右键单击并选择重新加载。