我使用以下步骤创建了一个 nuget 包。
- 首先我创建了一个 Asp.net Mvc 应用程序
- 我使用 nuget spec 命令创建了规范文件
- 然后我编辑了 $id$,$version$,$author$,$description$ 等。
- 然后我使用以下命令创建了包。
- nuget pack myproject.csproj -Build -Properties Configuration=Release
- 它是由一个 myproject.1.0.0.0.nupkg 创建的
- 然后我将文件复制到 C:\LocalNuGetFeed\myproject.1.0.0.0.nupkg
- 我已经在我的 VS 中配置了本地存储库
我的问题是 当我从任何其他项目安装此软件包时,它会询问以下问题。但根据我的要求,我不想将此文件移动到目标项目。假设用户给它它覆盖目标项目文件,因为它我面临很多参考问题。
**File Conflict
File 'Web.config' already exists in project 'CRM'. Do you want to overwrite it?
[Y] Yes [A] Yes to All [N] No [L] No to All [?] Help (default is "N"):
File Conflict
File 'Global.asax' already exists in project 'CRM'. Do you want to overwrite it?
[Y] Yes [A] Yes to All [N] No [L] No to All [?] Help (default is "N"):**
但是在我的包中,我不想将上面的两个文件从包移动到目标项目。
有什么方法可以避免将 Global.asax 和 Web.config 从包转移到目标项目。
在我的 .nuspec 文件中,我添加了以下行
<files>
<file src="Web.config" target = "" exclude="Web.config"/>
<file src="*.asax" target = "" exclude="*.asax"/>
<file src="Content\*.css" target="Content\" />
<file src="Scripts\*.js" target="Content\Scripts\" />
</files>
但它在 Content 文件夹中包含web.config文件和Global.aspx文件我的结果包如下所示
myproject.1.0.0.0
>> Content
....css
>>Script
..Js file
web.config
Global.asax