无法修改源自导入文件的已评估对象

时间:2016-03-07 22:15:48

标签: visual-studio

我正在尝试从我的visual studio项目中删除一个文件,但这个对话框弹出并阻止我这样做。它是什么意思,我该如何解决这个问题?

有一个xamarin线程,但没有解决方案。

https://forums.xamarin.com/discussion/25719/cannot-modify-an-evaluated-object-originating-in-an-imported-file

enter image description here

4 个答案:

答案 0 :(得分:4)

我们不知道真正的问题是什么,但我们通过将此项目与我们拥有的其他项目文件进行比较来找到修复方法。

修复方法是在文本编辑器中打开.Shared.vcxitems文件并替换它:

  <ItemGroup>
    <ProjectCapability Include="$(MSBuildThisFileDirectory)SourceItemsFromImports" />
  </ItemGroup>

用这个

  <ItemGroup>
    <ProjectCapability Include="SourceItemsFromImports" />
  </ItemGroup>

答案 1 :(得分:2)

重新启动Visual Studio为我解决了这个问题。

答案 2 :(得分:0)

我碰到了这个问题以及其他与错误消息相关的问题。我的问题不同于OP的问题,因为它与NuGet软件包没有安装/卸载/更新有关。

我打开.CSProj文件只是为了看到Microsoft.NET.Test.Sdk的软件包引用完全丢失,即,即使杀死了所有现有的.vs目录,某​​些VS文件也在缓存该错误的引用。所以我只是手动添加它,运行nuget restore,然后又恢复营业。

基本上,我修改了此项目文件XML块:

  <ItemGroup>
    <PackageReference Include="Microsoft.NETCore.UniversalWindowsPlatform">
      <Version>6.2.8</Version>
    </PackageReference>
    <PackageReference Include="MSTest.TestAdapter">
      <Version>1.4.0</Version>
    </PackageReference>
    <PackageReference Include="MSTest.TestFramework">
      <Version>1.4.0</Version>
    </PackageReference>
  </ItemGroup>

对此:

  <ItemGroup>
    <PackageReference Include="Microsoft.NETCore.UniversalWindowsPlatform">
      <Version>6.2.8</Version>
    </PackageReference>
    <PackageReference Include="MSTest.TestAdapter">
      <Version>1.4.0</Version>
    </PackageReference>
    <PackageReference Include="MSTest.TestFramework">
      <Version>1.4.0</Version>
    </PackageReference>
    <PackageReference Include="Microsoft.NET.Test.Sdk">
      <Version>16.1.1</Version>
    </PackageReference>
  </ItemGroup>

答案 3 :(得分:0)

在我的解决方案中,因为有NuGet软件包源指向不存在的本地文件夹,所以在“软件包管理器设置”中对其进行了更改。