我有一个nuget包,可以应用于任何类型的C#项目。
它有一个文件作为包的一部分添加到项目中。 NuSpec看起来像这样:
<files>
<file src="Content\App_Start\StartUpCode.cs.pp" target="content\App_Start" />
我正在使用WebActivator在应用程序启动时运行文件中的代码。
当nuget包应用于同一解决方案中的多个项目时,我遇到了问题。我添加了几个StartUpCode.cs实例,因此WebActivator多次运行代码。
如何阻止将此代码添加到与Web无关的项目中?即将它添加到WebAPI项目或WebForms项目,但不是类库,这很酷。
答案 0 :(得分:1)
我不认为Nuget规范中的任何内容都可以让您轻松完成。也许使用Powershell install script并检测它所安装的项目类型和/或是否先前已引用过程序集?
就个人而言,我将其分成两个Nuget包。一个是业务逻辑,另一个是WebActivator依赖。