NuGet - 仅将后处理文件添加到Web项目

时间:2014-05-08 01:48:57

标签: nuget

我有一个nuget包,可以应用于任何类型的C#项目。

它有一个文件作为包的一部分添加到项目中。 NuSpec看起来像这样:

  <files>
    <file src="Content\App_Start\StartUpCode.cs.pp" target="content\App_Start" />

我正在使用WebActivator在应用程序启动时运行文件中的代码。

当nuget包应用于同一解决方案中的多个项目时,我遇到了问题。我添加了几个StartUpCode.cs实例,因此WebActivator多次运行代码。

如何阻止将此代码添加到与Web无关的项目中?即将它添加到WebAPI项目或WebForms项目,但不是类库,这很酷。

1 个答案:

答案 0 :(得分:1)

我不认为Nuget规范中的任何内容都可以让您轻松完成。也许使用Powershell install script并检测它所安装的项目类型和/或是否先前已引用过程序集?

就个人而言,我将其分成两个Nuget包。一个是业务逻辑,另一个是WebActivator依赖。