9

我有一些各种第三方组件所需的许可证文件 (.lic),每个组件都需要在文件bin夹中存在许可证文件。

因为我已经bin从源代码控制中省略了我的文件夹,所以放置的参考和许可证文件bin不是源代码控制的。根据这个答案,我将我的预编译引用移到了源代码管理所涵盖的另一个位置,并通过相对路径在我的项目中引用它们。当我构建时,这些 DLL 正确地包含在我的bin文件夹中。

据我所知,我不能对我的许可证文件使用相同的方法。它们必须存储在我的 Visual Studio 项目中。在 Visual Studio 中,如何将我的许可证文件存储在源代码管理涵盖的位置并bin在构建时将它们发布到我的文件夹中?

4

2 回答 2

13

我完成此操作的方法是将我的许可证文件放在项目根目录中(我想您可以将它们放在项目中的任何位置)。然后,我设置它们的属性(按住 ctrl 单击每个 .lic 文件并按Alt+ Enter,或单击“属性”选项卡):

特性

设置为“始终复制”会导致文件在构建时Copy to output directory移动到文件夹中。bin

设置Build action为“无”可防止文件与其他内容一起在其原始位置发布。如果没有此设置,许可证文件将在网站根目录发布并可以下载。

于 2013-07-09T19:33:54.863 回答
1

您可以在 Web.config 文件中添加以下设置,这将确保发布您的 lic 文件

<configuration>
  <system.web>
    <compilation>
      <buildProviders>
        <remove extension=".lic"/>
        <add extension=".lic" 
             type="System.Web.Compilation.ForceCopyBuildProvider"/>
      </buildProviders>
    </compilation>
  </system.web>
</configuration>
于 2017-11-28T09:43:48.650 回答