gpt4 book ai didi

asp.net-core-mvc - asp.net 核心并包括共享内容文件

转载 作者:行者123 更新时间:2023-12-03 21:34:04 26 4
gpt4 key购买 nike

我有一个共享项目项目,其中包含一些内容文件,如 JSON 等。

我有许多 ASP.Net 核心项目,我想包含/共享其中一些 JSON 文件。 VS 中的“链接到文件”选项非常简单,但在 ASP.Net 核心项目中不可用。

我已经尝试按如下方式使用 buildOptions/copyToOutput 但这似乎不起作用,并且在构建过程中没有记录错误或警告。

"copyToOutput": {
"include": [ "../Common.Includes/mysettings*.json" ] }

有什么想法被感激地接受了吗?

谢谢

多纳尔

最佳答案

copyToOutput设置对我来说很好(至少在 Windows 上的 dotnet 1.0.0-preview3-003171 中)。但是请注意 copyToOutput is not transitive - 意思是如果文件被复制到项目 A 中,它们将不会被复制到引用项目 A 的项目 B 中的输出。

另一种方法是使用底层文件系统并创建指向共享文件或文件夹的符号链接(symbolic link)。在 Linux 上它将是:

> ln -s ../Common.Includes common

Windows 有一个类似(但不太常用)的功能:

> mklink /J common ..\Common.Includes

然后可以配置 dotnet在特定事件上运行它:

"scripts": {
"precompile": "cmd /C mklink /J common ..\\Common.Includes"
}

在 RC1 中也有像 'prepare' 或 'prerestore' 这样的事件,这更适合这个,但现在 they're gonedotnet仅支持“预编译”和“后编译”。

将此命令与一些逻辑一起放入单独的脚本中会更好,以检查链接是否已存在。在 Windows 上,我会创建 init.ps1 Powershell脚本:

if (!(Test-Path "common")) {
cmd /C mklink /J "common" "..\Common.Includes"
}

然后从“脚本”中引用它:

"scripts": {
"precompile": "init.ps1"
}

关于asp.net-core-mvc - asp.net 核心并包括共享内容文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38509871/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com