【问题标题】:Visual Studio 2013 VS tools Cordova CTP3 - Build sets files in bld and bin dirs Read-Only?Visual Studio 2013 VS 工具 Cordova CTP3 - 在 bld 和 bin 目录中构建集文件 只读?
【发布时间】:2014-11-14 02:18:43
【问题描述】:

我们刚刚在两台开发机器上更新了 Visual Studio,从 Update 3 到 Update 4,更新了 Web Essentials,卸载了混合应用 CTP2,并安装了新的 CTP3 Visual Studio Tools for Apache Cordova。

我们在为任何项目构建时都会遇到问题。它将 bld 目录中的文件设置为只读。它还会将 bin 目录中的文件设置为只读。

这会在后续尝试构建项目时产生错误。错误看起来像:

1>C:\Users\rlindabury\AppData\Roaming\npm\node_modules\vs-mda-targets\Microsoft.MDA.targets(221,5): warning MSB3061: Unable to delete file "E:\code\SwiftReach\V4\Swift911\Mobile\Swift911Public\\bld\Ripple\Android\Debug\scripts\images\icons-svg\video-white.svg". Access to the path 'E:\code\SwiftReach\V4\Swift911\Mobile\Swift911Public\bld\Ripple\Android\Debug\scripts\images\icons-svg\video-white.svg' is denied.

我们能够解决这个问题的唯一方法是删除 project\bld 和 project\bin 目录并构建,或者在每次构建之前递归地更改这些目录上的只读标志。

这些是 CTP2 项目。我们创建了一个新的 CTP3 项目并用我们的代码填充它,它显示了相同的错误。

还有其他人遇到过这种情况吗?有解决办法吗?

谢谢。

【问题讨论】:

  • 由于某种原因,在我将我已经使用了一段时间的项目添加到团队基础服务器后,这种情况开始发生在我身上。
  • 我忘了提到我们使用的是 Team Foundation Server。您只需将项目文件放入 TFS(而不是 cordova 临时目录或其他 cordova 目录/文件),否则您需要检查所有内容以删除这些文件的只读标志。无论如何,您都不希望它们在 TFS 中,因为它们中的许多都是在构建过程中写入的。我可以很好地构建,但我会删除 bld 目录,然后在新构建之前清理项目。清理会增加构建版本。

标签: cordova visual-studio-2013 multi-device-hybrid-apps


【解决方案1】:

我们无法重现这一点,但以下步骤可能有助于将 CTP 2 项目迁移到 CTP 3。FAQ 具有迁移项目的步骤“我正在尝试从 CTP2 升级项目到 CTP3 及其抛出错误。”

这里供参考:

然后在编辑器中打开 jsproj 文件(右键单击并选择 Edit myproject.jsproj)并在以下几行中修改路径:

<Import Project="$(AppData)\npm\node_modules\vs-mda-targets\Microsoft.MDA.targets" /> 
<Import Project="$(AppData)\npm\node_modules\vs-mda-targets\Microsoft.TypeScript.MDA.targets" />

看起来像这样:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CordovaTools\vs-mda-targets\Microsoft.MDA.targets" /> 
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CordovaTools\vs-mda-targets\Microsoft.TypeScript.MDA.targets" />

【讨论】:

    【解决方案2】:

    对于那些正在寻找此问题的答案的人,我们在 Visual Studio Cordova 常见问题解答中找到了解决方案,您可以在以下位置找到:

    http://www.visualstudio.com/explore/cordova-faq-vs

    即使错误不完全相同,但解决方案是。以下是相关部分:

    如果失败并显示类似于以下内容的错误消息:

    The imported project "C:\Users\testuser\AppData\Roaming\npm\node_modules\vs-mda-targets\Microsoft.MDA.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
    

    然后在编辑器中打开 jsproj 文件(右键单击并选择 Edit myproject.jsproj)并在以下几行中修改路径:

    <Import Project="$(AppData)\npm\node_modules\vs-mda-targets\Microsoft.MDA.targets" /> 
    <Import Project="$(AppData)\npm\node_modules\vs-mda-targets\Microsoft.TypeScript.MDA.targets" />
    

    看起来像这样:

    <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CordovaTools\vs-mda-targets\Microsoft.MDA.targets" />
    <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CordovaTools\vs-mda-targets\Microsoft.TypeScript.MDA.targets" />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多