如何获取 post-build 脚本的 "create assembly" 输出文本?

How get the "create assembly" output text for post-build script?

我有一个SQL触发项目。

目前,当我转到 "Project->Publish" 时,我可以选择 "generate script",它会为我生成一个脚本,并通过一行包含我的项目程序集:

GO
CREATE ASSEMBLY [MyProject.MyObject]
    AUTHORIZATION [dbo]
    FROM 0x4F5C8000....
    WITH PERMISSION_SET = UNSAFE;
GO
ALTER ASSEMBLY [MyProject.MyObject]
    DROP FILE ALL
    ADD FILE FROM 0x4D5743....

我想在 build 上生成它并将其作为文本抓取(对于 Powershell),这样我就可以将它放在另一个文件中。

我知道如何通过 powershell 将它放在另一个文件中,但是如何在 post-build 上生成它?

只需将您调用的.ps1文件添加到.csproj文件中,如果不存在则写入块<propertyGroup>。好像是这样的:

<Target> ... </Target> <PropertyGroup> <PostBuildEvent>Powershell.exe -ExecutionPolicy Unrestricted -file "$(SolutionDir)$(ProjectName)\postbuild.ps1"</PostBuildEvent> </PropertyGroup>

为此,我需要在构建脚本中执行两个步骤:

#Step 1: Get the file as bytes
$fileBytes = Get-Content -Path $myFilePath -Encoding Byte

#Step 2: Convert it to Hex using a BitConverter
#Step 2a: Remove the dashes it puts in each byte's hex
$fileInHex = [System.BitConverter]::ToString($fileBytes) | ForEach-Object { $_ -replace "-", "" }