首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Microsoft.CodeDom.Providers.DotNetCompilerPlatform版本1.0.6

Microsoft.CodeDom.Providers.DotNetCompilerPlatform版本1.0.6
EN

Stack Overflow用户
提问于 2017-08-07 02:52:57
回答 4查看 3.3K关注 0票数 6

当我更新我的Microsoft.CodeDom.Providers.DotNetCompilerPlatform MVC项目以使用v1.0.6的时候,我会遇到部署问题,因为dotNet目录不再放在部署的bin目录下。

我的项目中有Microsoft.Net.Compilers的2.3.1版本,除了通过VS2015的Manage包特性更新NuGet之外,项目中没有其他任何更改。

如果我恢复到Microsoft.CodeDom.Providers.DotNetCompilerPlatform的1.0.5版本,一切都可以正常工作。

似乎此更新版本的Microsoft.CodeDom.Providers.DotNetCompilerPlatform正在中断/删除项目中的Microsoft.Net.Compilers引用。

我试着卸载,然后从我的项目中重新安装Microsoft.CodeDom.Providers.DotNetCompilerPlatform和Microsoft.Net.Compilers,但这并没有解决这个问题。

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

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

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

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

Les

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-08-15 08:17:47

我也有同样的问题,它看起来像是包\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.6\build\net45下的\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.6\build\net45文件中的一个变化。

我在1.0.5版本中添加了一个目标

代码语言:javascript
复制
<Target Name="IncludeRoslynCompilerFilesToItemGroup" AfterTargets="ResolveAssemblyReferences" >
<ItemGroup>
  <None Include="@(RoslyCompilerFiles)" Condition="">
    <Link>%(RoslyCompilerFiles.Link)</Link>
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  </None>
</ItemGroup>

在此之前

代码语言:javascript
复制
<Target Name="CopyRoslynCompilerFilesToOutputDirectory" ... />

出版业又开始运作了。

我想它是在这里被追踪的,链接

票数 7
EN

Stack Overflow用户

发布于 2017-08-17 17:45:18

1.0.7被释放。请试试看。如果您看到任何问题,请转到roslyncodedomprovider github repo并在那里提交一个问题。

票数 3
EN

Stack Overflow用户

发布于 2017-09-18 10:21:08

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

标签内

代码语言:javascript
复制
<PropertyGroup>

这两条线是:

代码语言:javascript
复制
<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'))" />

通过删除它们

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

https://stackoverflow.com/questions/45538776

复制
相关文章

相似问题

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