无法使用 msbuild 命令行处理 Resx,因为它受到限制



我正在写一个ant脚本(是的,我知道我们在2020年(来构建一个c#解决方案。这个解决方案有许多项目与之相关,在大多数情况下,我可以让解决方案中的每个项目都使用以下蚂蚁任务来构建(由于程序的敏感性,名称被混淆(:

<target name="MyProject1" description="Build MyProject1">
<exec executable="${msbuild}">
<arg value="MySolution.sln /t:MyProject1:Rebuild /p:Configuration=Release" />
</exec> 
</target>

正如我所提到的,这适用于我的大多数项目,但我有一个项目有一个resx文件,我得到了错误Couldn't process file resx due to its being in the Internet or Restricted zone or having the mark of the web on the file

我确实遇到了这个解决方案

无法';t处理文件resx,因为它位于Internet或受限区域,或者文件上有web标记

它谈到了通过powershell运行文件,所以我将其添加到我的目标:

<exec executable="powershell">
<arg value="get-childitem MyResource.resx | unblock-file" />
</exec>

但这似乎并不奏效,也出现了同样的错误。

所以我的问题是,我是否可以在批处理文件中运行另一个命令,作为msbuild的切换,或者在ant中运行一个解锁文件的任务。所有其他建议都是手动编辑文件,这必须是自动化的。

这个文件是从一个我无法触摸的cm位置拉进来的,因此我无法将锁取下并放回。我可以要求有权更改文件的人,但这需要国会的行动(字面上(。

ant脚本背后的想法是,任何开发人员都可以在我们的任何windows开发机器上运行它,并在不需要经过visualstudio的情况下构建软件。

在尝试了以下所有解决方案后:

  • C#无法';t处理文件xxx.resx,因为该文件位于Internet或受限区域,或者文件上有web标记
  • OneDrive-Visual Studio 2019-无法';由于文件Form1.resx位于Internet或受限区域,无法处理该文件

但仍然无法正常工作,我最终将嵌入的图像转换为.png文件,并在.resx中创建了该文件的链接。Visual studio只需点击2次即可完成,正如我在原始评论中所描述的:https://stackoverflow.com/a/71799430/15001063

相关内容

最新更新