【发布时间】:2019-11-06 11:58:13
【问题描述】:
我负责一个有 3 个项目的框架:
Front End UI
\bin
\my front end dlls
\images
\theimages.png
API
\bin
\my API dlls
Database Migrations
\bin
\my migration dlls
我在 IIS 中的设置/结构如下:
Front End UI (Top level IIS Site)
\bin
\my front end dlls
\Database Migrations
\my migration dlls
\images
\theimages.png
\API (Converted to an App in IIS)
\bin
\my API dlls
我希望我的 nuget 包输出到这个结构。
用户将在 Visual Studio 中创建一个新的空白项目,并添加此 nuget 包。这将为他们提供如上面 IIS 位所示的结构。他们只会在这个新项目中添加几个配置文件。
然后他们将在 IIS 中创建一个新站点,将其指向前端,并将 API 文件夹转换为应用程序。
应该很容易设置。
我的问题是我可以创建一个 nuspec 文件,并将 API 和 Migrator 文件手动包含到 content\API\bin 和 content\bin\Database Migrators 但问题是默认的 .gitignore 文件将默认排除这些子 bin 文件夹,这些 dll 不会被提交。
如果可能的话,我真的希望避免让开发人员调整 .gitignore 文件以强制包含 API\bin 和 Database Migrators\bin 文件夹。
有没有更好的方法来做我正在做的事情?
干杯,
【问题讨论】:
-
嗨 Albert,这个问题有什么更新吗?现在没有简单的方法来实现你想要的,我能问你为什么要提交 dll 吗?据我所知,在大多数情况下,不需要将输出程序集添加到版本控制中...... :-(
-
情况是我要提交的dll不是这个项目的输出dll。它们只需要运行 IIS 站点。它们也不是对这个项目的引用。所以我所做的基本上是打包我的整个 IIS 站点,当开发人员克隆并安装 nuget 包时,他们会得到一个工作站点。 dll 仅在安装 nuget 包时复制到
API\bin文件夹,因此只有我将它们放在正确的位置。克隆时,它们不会再次复制... -
嗨 Albert,这个问题有什么更新吗?我遇到了one issue,其中有一个很好的包,它使用 msbuild 目标在其中执行许多自定义工作,也许您可以在那里获得一些有关如何使用目标创建包的有用信息。如果您仍然被阻止,请随时告诉我..
标签: git visual-studio nuget