当我发布我的.NET Core应用程序时,它会输出一个runtimes
包含以下子目录的目录:
- publish/runtimes/
- debian.8-x64/
- fedora.23-x64/
- fedora.24-x64/
- opensuse.13.2-x64/
- opensuse.42.1-x64/
- osx/
- osx.10.10-x64/
- rhel.7-x64/
- ubuntu.14.04-x64/
- ubuntu.16.04-x64/
- ubuntu.16.10-x64/
- unix/
- win/
Run Code Online (Sandbox Code Playgroud)
在我的CI/CD服务器上,我使用以下命令发布我的应用程序:
dotnet publish -c Release -o ..\publish
Run Code Online (Sandbox Code Playgroud)
我在项目文件中的发布设置如下:
我只计划在Windows 2016 Server上发布此应用程序,因此runtimes
不需要OSX/Linux/Unix 文件夹.更糟糕的是,在某些情况下,这些runtimes
文件夹包含dlls
导致OSA扫描误报的已知易受攻击.
有没有办法将项目配置为仅输出win
运行时文件夹?
更新
我已经尝试了@ahsteele的建议,并且将RID添加到我的csproj文件的输出与我没有指定RID的情况相同.
当我运行CI/CD命令示例时
dotnet publish -c Release -r win10-x86 -o ..\publish
Run Code Online (Sandbox Code Playgroud)
我相信它创建了一个自包含的部署.我的发布目录从55MB变为120MB,从237个文件变为482个文件.
更新2
我已经尝试为发布步骤指定我的启动项目,并且它将运行时目录构建得更紧凑.
这是我正在运行的构建命令:
dotnet publish .\startupProject.csproj -c Release -o ..\publish
Run Code Online (Sandbox Code Playgroud)
这是输出:
- …
Run Code Online (Sandbox Code Playgroud) 我试图延迟显示一个Bootstrap模态,直到5秒钟过去.这是我的代码部分.它似乎是从我在MDN上阅读的内容写的.模态在任何时间后都不会出现.任何帮助,将不胜感激.
var timeout;
function modalAlert(message){
$("#myModalLabel").text("Hey Look!")
$('.modal-body').html("<img src='"+message+"'>");
timeout = window.setTimeout(showModal,5000);
}
function showModal(){
console.log("HERE")
$("#myModal").modal('show')
}
Run Code Online (Sandbox Code Playgroud)
Vijay Ramamurthy帮我找到了解决方案:
var timeout;
function modalAlert(message){
$("#myModalLabel").text("Hey Look!")
$('.modal-body').html("<img src='"+message+"'>");
window.setTimeout(function(){showModal();},5000);
}
function showModal(){
console.log("HERE")
$("#myModal").modal('show')
}
Run Code Online (Sandbox Code Playgroud) 我有一个SQL Server Dockerfile,我的import-data.sh *.sql
从sql-data文件夹中导入文件。如果我*.sql
从Datagrip之类的工具运行文件,一切都会正常,但导入会自动失败,并显示此错误消息。
错误信息:
消息1934,级别16,状态1,第4行
CREATE INDEX失败,因为以下SET选项的设置不正确:“ QUOTED_IDENTIFIER”。验证SET选项是否正确用于计算列的索引视图和/或索引和/或已过滤索引和/或查询通知和/或XML数据类型方法和/或空间索引操作。
Docker文件
FROM microsoft/mssql-server-linux:2017-latest
RUN mkdir /sql-data/
EXPOSE 1433
COPY entrypoint.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/entrypoint.sh
COPY import-data.sh /usr/src/app/
RUN chmod +x /usr/src/app/import-data.sh
# Copy SQL Scripts to sql-data for processing
COPY ./sql-data/*.sql /sql-data/
CMD /bin/bash /usr/local/bin/entrypoint.sh
Run Code Online (Sandbox Code Playgroud)
入口点
#!/bin/bash
#start SQL Server, start the script to create the DB and import the data, start the app
/usr/src/app/import-data.sh & /opt/mssql/bin/sqlservr
Run Code Online (Sandbox Code Playgroud)
import-data.sh
#!/bin/bash
# wait for the SQL Server to come …
Run Code Online (Sandbox Code Playgroud) .net-core ×1
build ×1
docker ×1
dockerfile ×1
javascript ×1
jquery ×1
modal-dialog ×1
settimeout ×1
sql-server ×1