首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重定向到.NET 4.7.2后无法编译CSCORE

重定向到.NET 4.7.2后无法编译CSCORE
EN

Stack Overflow用户
提问于 2020-06-06 12:55:07
回答 2查看 139关注 0票数 0

我将类库的目标重定为4.7.2,以便更新并在我正在构建的.NET Core3.1应用程序中使用CSCORE

我无法编译,导致生成后事件返回-1:

在具有2004年更新的Windows 10计算机上构建。

构建后事件:

代码语言:javascript
复制
@echo off & setLocal EnableDELAYedeXpansion
  chcp 65001

  set errorCode=0

  set target=$(TargetPath)
  set project=$(ProjectPath)

  set sdk=%PROGRAMFILES(x86)%\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools
  set framework=%WINDIR%\Microsoft.NET\Framework\v2.0.50727
  set inlineILCompiler=$(SolutionDir)Tools\InlineILCompiler\InlineILCompiler\bin\$(ConfigurationName)\InlineILCompiler.exe
  set cscli=$(SolutionDir)Tools\CSCli\bin\$(ConfigurationName)\CSCli.exe

  IF exist "%sdk%\." (
  echo OK: The Microsoft Windows SDK was found.
  ) else (
  echo FAILED: The Microsoft Windows SDK Dir was not found. Check the following path: "%sdk%"
  goto EXIT_ERR
  )
  IF exist "%framework%\." (
  echo OK: The .NET Framework Dir was found.
  ) else (
  echo FAILED: The Framework-Dir was not found. Check the following path: "%framework%"
  goto EXIT_ERR
  )
  IF exist "%inlineILCompiler%" (
  echo OK: Found the inline-il-compiler.
  ) else (
  echo FAILED: The inline-il-compiler was not found. Check the following path: "%inlineILCompiler%"
  goto EXIT_ERR
  )
  IF exist "%cscli%" (
  echo OK: Found the cscli-compiler.
  ) else (
  echo FAILED: The cscli was not found. Check the following path: "%cscli%"
  goto EXIT_ERR
  )

  if $(ConfigurationName) == Debug (
  echo Build-Configuration: DEBUG
  echo    DEBUG=IMPL
  echo    NO OPTIMIZE
  set ilasm_args=/DLL /DEBUG=IMPL
  ) else (
  if $(ConfigurationName) == Release (
  echo Build-Configuration: RELEASE
  echo    NO DEBUG
  echo    OPTIMIZE
  set ilasm_args=/DLL /OPTIMIZE
  ) else (
  echo FAILED: Invalid Configuration.
  goto EXIT_ERR
  )
  )

  echo.
  echo.
  echo Calling the inline-il-compiler ...
  call "%inlineILCompiler%"

  echo.
  echo.
  echo Calling CSCli ...
  call "%cscli%" -file:"$(TargetPath)" -r:"RemoveObjAttribute" -c:"CSCalliAttribute"

  :EXIT
  EXIT /B %errorCode%

  :EXIT_ERR
  set errorCode=-1
  goto EXIT
EN

回答 2

Stack Overflow用户

发布于 2020-06-25 22:41:13

只需将图中所示的这两个文件夹保存在CSCore.csproj目录的目录中。我已经经历过这个问题了。我就是这样解决的。如果你需要更多的澄清,请让我知道。

现在,确保项目构建顺序如图所示。

票数 0
EN

Stack Overflow用户

发布于 2021-02-27 01:54:49

CsCore编译使用了构建后脚本。其中包含对Microsoft SDK和框架的引用:

代码语言:javascript
复制
set sdk=C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools
set framework=%WINDIR%\Microsoft.NET\Framework\v2.0.50727

这个开发工具包/框架的位置取决于windows版本Windows7或Windows10。在Studio中,打开CsCore属性并编辑后期构建脚本(遗憾的是,由于仅限LF,可读性不是很好):您必须将SDK行更改为您系统上的SDK。将ECHO OFF更改为ON,这样您就可以看到发生了什么。但它是有效的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62227471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档