我正在为我们公司的MVC4模板构建一个NuGet包。我遇到了一个问题,我需要修改Global.asax.cs
文件以添加以下两行代码:
using System.Web.Optimization;
在命名空间之前的顶部
BundleConfig.RegisterBundles(BundleTable.Bundles);
在
Application_Start()
方法的末尾我尝试创建一个名为
Global.asax.cs.pp
的文件,并在其中添加 namespace $rootnamespace$
,但似乎不起作用。看来Nuget不会覆盖现有文件?我认为最后的选择是编写一个 PowerShell 脚本(
Install.ps1
?)来完成这个任务。这是我的 template.nuspec
文件。<?xml version="1.0" encoding="utf-8"?>
<package>
<metadata>
<id>Template.MVC4</id>
<version>1.5</version>
<title>MVC4 Template</title>
<description>Installs and configures files for MVC 4 application template.</description>
<authors>Me</authors>
<language>en-US</language>
<dependencies>
<dependency id="Microsoft.AspNet.Web.Optimization" />
</dependencies>
<iconUrl>http://www.someurl.com/Logo.jpg</iconUrl>
</metadata>
<files>
<file src="Template\Helpers\*" target="content\Helpers\" />
<file src="Template\Content\*.css" target="content\Content\" />
<file src="Template\Content\animGif\*" target="content\Content\animGif\" />
<file src="Template\Content\custom-theme\*" target="content\Content\custom-theme\" />
<file src="Template\Content\templateImages\*" target="content\Content\templateImages\" />
<file src="Template\Scripts\*" target="content\Scripts\" />
<file src="Template\Views\Shared\*" target="content\Views\Shared\" />
<file src="Template\Views\Home\*" target="content\Views\Home\" />
<file src="Template\Views\_ViewStart.cshtml" target="content\Views\" />
<file src="NuGetPackage\App_Start\*" target="content\App_Start\" />
<file src="NuGetPackage\Controllers\*" target="content\Controllers\" />
<file src="NuGetPackage\Helpers\*" target="content\Helpers\" />
<file src="NuGetPackage\Models\*" target="content\Models\" />
<file src="NuGetPackage\Views\*" target="content\Views\" />
<file src="NuGetPackage\*" target="content\" />
</files>
</package>
我的问题有两个方面,第一个是我的.nuspec文件做错了吗?第二个是如果不能使用.pp修改Global.asax,那么我需要编写什么PowerShell脚本才能在将此NuGet添加到项目时自动运行它,并且我需要做些特殊的事情使其运行吗?(根据文档,似乎只需将Install.ps1放置在tools\中即可)。