当前位置: 首页 > 知识库问答 >
问题:

v1.0.6 of Microsoft.CodeDom.Providers.DotNetCompilerPlatform

邹普松
2023-03-14

当我更新我的dotNet MVC项目使用微软的v1.0.6时。CodeDom . providers . dotnet compiler platform I出现部署问题,因为roslyn目录不再位于部署的bin目录下。

我在我的项目中有Microsoft. Net的v2.3.1。编译器,除了通过VS2015的管理Nuget包功能更新Microsoft. CodeDom.提供商. DotNetCompiler平台之外,项目中没有其他变化。

如果我回到微软的1.0.5版。CodeDom . providers . dotnet compiler platform都工作正常。

看起来好像这个更新版本的Microsoft.CodeDom.Providers.DotNetCompilerPlatform正在破坏/删除项目中的Microsoft.Net.Compilers引用。

我尝试从我的项目中卸载然后重新安装Microsoft. CodeDom.提供商. DotNetCompiler平台和Microsoft. Net.编译器,但这并不能解决问题。

我尝试了以下StackOverflow文章中的建议,但没有成功。

找不到路径的一部分…bin\roslyn\csc.exe

我还尝试手动将roslyn目录复制到输出目录,但该目录会在项目的每次构建时被删除。

如果有人能帮助阐明如何解决问题,我将不胜感激。

女同性恋

共有3个答案

宋典
2023-03-14

正如我在项目中看到的那样,从 csproj 文件中删除两行 - 解决了问题。放置在 csproj XML 文件末尾的两行,在标记下

在标签内部

<PropertyGroup>

这两行分别是:

<Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.2.3.2\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.2.3.2\build\Microsoft.Net.Compilers.props'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.7\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.7\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />

通过删除它们 - 发布恢复完美。

江佐
2023-03-14

1.0.7 已发布。请试一试。如果您看到任何问题,请转到 roslyncodedomprovider github 存储库并在那里提交问题。

闾丘晨
2023-03-14

我也遇到了同样的问题,它看起来像是Microsoft.CodeDom.Providers.DotNetCompilerPlatform中的一个更改。props</code>文件位于包<code>\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.6\build\net45</code>下

我通过添加back in从1.0.5版本添加了一个目标

<Target Name="IncludeRoslynCompilerFilesToItemGroup" AfterTargets="ResolveAssemblyReferences" >
<ItemGroup>
  <None Include="@(RoslyCompilerFiles)" Condition="">
    <Link>%(RoslyCompilerFiles.Link)</Link>
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  </None>
</ItemGroup>

之前

<Target Name="CopyRoslynCompilerFilesToOutputDirectory" ... />

出版业又开始工作了。

我认为它正在被跟踪 这里链接

 类似资料:

相关问答

相关文章

相关阅读