- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们正在开发一个 ASP.NET MVC 5 项目,该项目依赖于来自不同解决方案的项目。另一个解决方案是常见的类库,我们发布为 NuGet 包。当我们发布时,我们编译项目并从 NuGet 存储库中获取它,但在开发过程中,我们从该项目的 bin 文件夹中获取引用。
为了使其正常工作,我们对 ASP.NET 项目的 csproj 文件执行了以下“hack”操作(我们手动编辑了 csproj xml 文件并更改了引用):
<Reference Include="Common.Utilities, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath Condition=" '$(Configuration)' == 'Debug' ">..\..\..\Common\Common.Utilities\bin\$(Configuration)\Common.Utilities.dll</HintPath>
<HintPath Condition=" '$(Configuration)' != 'Debug' ">..\..\..\..\ExtrnBin\NuGetPackages\Common.Utilities.1.0.0.8\lib\net451\Common.Utilities.dll</HintPath>
</Reference>
csproj
中不再定义依赖项。文件,但在
project.json
文件。因此,如果我们添加一个引用,我们会在
project.json
中得到类似的信息。 :
"dependencies": {
"EntityFramework.Commands": "7.0.0-rc1-final",
"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
"Microsoft.ApplicationInsights.AspNet": "1.0.0-rc1",
"Microsoft.AspNet.Authentication.Cookies": "1.0.0-rc1-final",
"Microsoft.AspNet.Diagnostics.Entity": "7.0.0-rc1-final",
"Microsoft.AspNet.Identity.EntityFramework": "3.0.0-rc1-final",
"Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
"Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
"Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-rc1-final",
"Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
"Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final",
"Microsoft.AspNet.Tooling.Razor": "1.0.0-rc1-final",
"Microsoft.Extensions.CodeGenerators.Mvc": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.FileProviderExtensions": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.UserSecrets": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final",
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-rc1-final",
"Common.Utilities": "1.0.0.8-*"
}
lib\dnx\451
文件夹。
最佳答案
简答
您无法避免重新发布;但是,您可以避免远程重新发布。
在每次构建类库解决方案时,将 NuGet 包发布到本地目录,例如 C:\LocalPackages
.在您的 MVC 项目中,使用两个不同的 NuGet 包源:一个用于发布,另一个用于调试。制作调试源C:\LocalPackages
.
调试将从本地 NuGet 源中获取,发布将从下载的 NuGet 中获取。
来自 ASP.NET Core 存储库的示例
ASP.NET MVC repository用途不同 packageSources
对于不同的构建。您的问题的一个答案是使用相同的方法,但使用本地 packageSources
用于开发构建。
aspnet release
分支 > nuget.config
<packageSources>
<clear />
<add key="AspNetVNext" value="https://www.myget.org/f/aspnetmaster/api/v3/index.json" />
<add key="NuGet" value="https://api.nuget.org/v3/index.json" />
</packageSources>
dev
分支 > nuget.config
<packageSources>
<add key="AspNetVNext" value="https://www.myget.org/F/aspnetcidev/api/v3/index.json" />
<add key="NuGet" value="https://api.nuget.org/v3/index.json" />
</packageSources>
Class Library (Package)
.将其配置为在构建时将包发布到本地目录。换句话说...
artifacts
目录。
postpack
脚本到类库的
project.json
.该脚本将包复制到我们本地的 NuGet 源目录。
/y
选项覆盖现有文件。
"scripts": {
"postpack":
"xcopy /y ..\\..\\artifacts\\bin\\%project:Name%\\Debug\\*.nupkg C:\\LocalPackages\\"
}
LocalPackages
的新包源. C:\LocalPackages
. LocalPackages
带有用于生产的适当 NuGet 源的条目。
LocalPackages
. postpack
脚本。
for /r "..\\" %i in (*.nupkg) do xcopy /y %i C:\LocalPackages`
~\AppData\Roaming\NuGet\nuget.config
文件。或者,创建一个
nuget.config
在我们的解决方案的根源。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="LocalPackages" value="C:\LocalPackages" />
</packageSources>
</configuration>
关于ASP.NET 5 (vNext) 构建发布和调试的不同依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36285589/
这个问题在这里已经有了答案: How to reference csproj from kproj (4 个答案) 关闭 8 年前。 是否可以从 ASP.NET vNext 项目引用非 vNext
所以我在 VS 14 CTP 中有一个 ASP .NET vNext 项目。我的目标是 .NET Framework 4.5.1。我添加了对 NuGet 包的引用,它没有特定于 vNext 的构建。
我们过去常常运行 XAML 构建,在那里您可以从一个构建开始另一个构建,例如让 GC 在之后运行集成测试工作流程等等。 在 VNext 中无法触发其他构建。我们怎样才能做到这一点? 最佳答案 此功能正
嗨,我目前正在一个使用 PCL 库的项目中工作,我们正在将所有内容迁移到 .net 标准。我正在阅读 .net 标准什么是,什么不是,什么支持或不支持,我遇到了著名的版本/平台表(more info)
我为目前支持 MVC 2 - MVC 5 的开源库做出贡献,我也希望支持 MVC 6(及更高版本)。为了支持每个版本的 MVC,我们利用了 Condition MSBuild 的功能,在进行构建时包含
我没有看到这方面的任何文档,但看起来在 vNext 中,您可以愉快地使用非静态方法 void Main() 编译和运行应用程序。实际上,新的控制台应用程序模板为您提供了一个非静态 Main。例如: p
前提:我认为这是 TFS 2015 中的错误/缺失功能 当我使用 TFS 网站创建一个新的 Build(非 xaml)定义时,我无法使用命令行调用它 TFSBuild start命令。 如果我创建了一
我们将 Release Management 2015 与 vNext 发布模板一起使用。我们为应用程序的每个部分部署了一个基于 Powershell DSC 的组件,事实上,我们部署了两个不同的应用
我正在我的构建服务器上运行大量测试,完成所有测试需要一个多小时。一个小时后,它目前失败了: The job running on agent xAgentNamex has exceeded the
目前,我正在处理一个大型旧项目,该项目在构建后事件中每个C#项目文件都有一个复制作业(使用C#编写的自定义工具)。 发布后事件看起来像 "$(MyEnvVar)\_Build\_Binaries\Co
是否有可能使用开放数据库,如 mysql、mariadb 或其他数据库以及 ASP.NET vNext? 也许是测试版驱动程序或类似的东西? 最佳答案 对于 ASP.NET vNext,您可以选择面向
我有一个 vNext 构建定义,其中指定了一个代理池。此代理池有不止一个代理。我想指定此构建定义要使用的代理编号 2。我如何确保针对特定构建定义使用特定构建代理来运行构建? 最佳答案 您可以向该特定构
我有一个 vNext 构建定义,其中指定了一个代理池。此代理池有不止一个代理。我想指定此构建定义要使用的代理编号 2。我如何确保针对特定构建定义使用特定构建代理来运行构建? 最佳答案 您可以向该特定构
我安装了 Visual Studio 2015 RC 来试用 ASP.Net vNext 模板。在“Web”部分,我注意到一个控制台应用程序显示为 我决定把它弄乱,我发现了一些有趣的点: 默认模板未将
Language feature implementation status通过 C# Chat 引起了我的注意.关于 this existing question 中未涵盖的一些功能,我有几个问题.
今天微软正式发布上SQL Server 2016 SP1,根据以往的SP1定律,可以在生产环境上使用了。打了SP1的标准版将具有企业版几乎所有的的功能。只有RAM 超过128GB或者超过24核心或者
构建 vNext 任务是对之前构建过程的巨大改进。不过,一个缺点是我无法将某些任务设为有条件的。我可以为每个组合创建一个额外的构建,但是如果我们必须更改构建的其他部分,这显然会严重扩展并导致大量额外的
我有一个在 Visual Studio 2015 RC 中运行的 MVC6 站点 我有一些静态 HTML 文件,我想提供给另一个网站。我想添加 CORS 支持(无需添加 Controller 并以这种
我一直在摆弄 vNext 并让示例项目运行起来。我创建了一个 Ubuntu 虚拟机,安装了所需的软件包,并使用 k run 让它全部运行起来。 (控制台应用程序)和 k kestrel (MVC 应用
我们正在开发一个 ASP.NET MVC 5 项目,该项目依赖于来自不同解决方案的项目。另一个解决方案是常见的类库,我们发布为 NuGet 包。当我们发布时,我们编译项目并从 NuGet 存储库中获取
我是一名优秀的程序员,十分优秀!