red*_*888 6 c# .net-3.0 docker .net-core dockerfile
除了最后一行之外,我的所有 .net core dockerfile 都 99% 相同:
ENTRYPOINT ["dotnet", "<APP NAME HERE>.dll"]
我似乎很愚蠢,因为否则它们可能都是相同的
有没有办法用命令更改dll名称dotnet publish -c Release -o out?我可以做到这一点而无需修改 csproj 文件或其他任何内容吗?
小智 8
您可以使用此命令来执行构建并重命名程序集:
dotnet msbuild -r -p:Configuration=Release;AssemblyName=foo
Run Code Online (Sandbox Code Playgroud)
在 Linux/macOS 上,您必须在命令周围添加引号,如下所示:
dotnet msbuild -r '-p:Configuration=Release;AssemblyName=foo'
Run Code Online (Sandbox Code Playgroud)
但是,由于设置了全局属性,可能会产生意想不到的副作用。您应该阅读 2019 年 9 月的这个未决问题,因为它直接回答了您有关 Docker 和重命名输出的问题:https ://github.com/dotnet/msbuild/issues/4696
另外,我知道您想避免编辑 .csproj 文件,但如果您不知道,您可以添加该AssemblyName属性并以这种方式设置输出名称。
例如:
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<AssemblyName>foo</AssemblyName>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
这将创建foo.dll(以及其他文件,例如.pdb、.deps.json等)
| 归档时间: |
|
| 查看次数: |
4899 次 |
| 最近记录: |