准备发布源代码

发布于 2024-10-16 00:08:38 字数 134 浏览 3 评论 0原文

这里有一个新手问题。

在VC# 2010 Express中,有没有一种简单的方法来准备要发布的源代码?换句话说,删除任何不应该发布的文件,例如关键文件、用户特定的设置等。

如果没有,有人可以向我指出清单或类似性质的东西吗?

Bit of a newbie question here.

In VC# 2010 Express, is there an easy way to prepare source code to be released? In other words, strip out any files that shouldn't be released like key files, user-specific settings, etc.

If not, can someone point me to a checklist or something of that nature?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

你的他你的她 2024-10-23 00:08:38

我不知道一种内置的方式(尽管我从未寻找过);毫无疑问,包含的内容会因项目而异,并且很难以自动化的方式正确完成。以下是要包含和排除的内容的一般列表(我的脑海中浮现出来):

要包含的内容

我发现一个很好的经验法则是“包含源代码控制下的所有内容(源代码控制元数据除外)”。基本上:

  • 所有源代码(C# 文件)
  • 解决方案文件 (.sln) 和所有项目文件 (*.csproj)
  • 您的代码构建和/或运行所依赖的任何库 (DLL)
  • 您的项目期望出现的任何其他文件构建或运行时(例如 app.config)
  • 文档(您已经拥有的任何文档,以及指示如何构建/运行项目的某种自述文件)
  • 附属源文件(例如安装程序脚本、自定义工具等

)不包括

  • 项目的二进制版本(即 bin\Debug、bin\Release 和 obj 文件夹)——二进制文件应单独发布
  • 源代码控制元数据(.svn 文件夹、.hg 文件夹等)
  • 每用户开发设置和数据(例如 ReSharper 文件夹、*.suo 文件、*.user 文件)
  • Intellisense 文件 (*.ncb)

密钥文件是一种有趣的情况 - 如果您使用它来创建强名称程序集,那么您可能需要也可能不需要向公众发布该密钥文件。一方面,它使某人更容易更改您的代码并签署生成的程序集,但另一方面,有人可能对您的代码进行恶意更改,然后签署程序集。有关是否发布关键文件的更完整讨论,请参阅此问题或不。

这应该涵盖项目目录中的大部分文件——如果我遗漏了任何内容,请告诉我!

I don't know of a built-in way (though I've never looked for one); what to include will undoubtedly vary from project to project, and would be tricky to get right in an automated way. Here's a general list (off the top of my head) of what to include and exclude:

What to include

I've found a good rule of thumb to be "include whatever's under source control (except for source control metadata)". Basically:

  • All source code (C# files)
  • The solution file (.sln) and all project files (*.csproj)
  • Any libraries your code depends on to build and/or run (DLLs)
  • Any other files your project expects to be present at build- or run-time (e.g. app.config)
  • Documentation (any you've already got, plus some sort of README indicating how to build/run your project)
  • Satellite source files (e.g. installer scripts, custom tools, etc.)

What not to include

  • Binary builds of your project (i.e. the bin\Debug, bin\Release and obj folders) -- binaries should be released separately
  • Source control metadata (.svn folders, .hg folder, etc)
  • Per-user development settings and data (e.g. ReSharper folders, *.suo files, *.user files)
  • Intellisense files (*.ncb)

Key files are an interesting case -- if you're using one to create strongly-named assemblies, then you might or might not want to release that key file to the public. On one hand, it makes it easier for someone to make changes to your code and sign the resulting assembly, but on the other hand, someone could make malicious changes to your code then sign the assembly. See this question for a more complete discussion concerning whether to release key files or not.

This should cover most of the files in your project directory -- let me know if I've missed anything!

半衾梦 2024-10-23 00:08:38

这就是我通常做的事情。

删除以下所有目录:

  • bin
  • obj

删除以下文件(递归地):

  • *.suo
  • *.gpstate
  • *.vssscc
  • *.csproj.user

这应该会给你一个非常干净的项目来压缩。

Here's what I normally do.

Delete all the following directories:

  • bin
  • obj

Delete the following files (recursively):

  • *.suo
  • *.gpstate
  • *.vssscc
  • *.csproj.user

That should give you a pretty clean project to be zipped up.

懒的傷心 2024-10-23 00:08:38

一个值得遵循的好规则是 .gitignore 文件的规则列表。请参阅此答案作为一个良好的起点。

A good rule to follow is the rule list for a .gitignore file. See this answer for a good starting point.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文