C# 无法将Prequisite组件与我的应用程序放在同一位置

C# 无法将Prequisite组件与我的应用程序放在同一位置,c#,winforms,visual-studio,prerequisites,C#,Winforms,Visual Studio,Prerequisites,我使用VS 2013,我希望sql server 2012 express localdb与我创建安装程序时的应用程序位于同一位置。因此,在项目属性>发布>先决条件中,我选择第二个选项(从与我的应用程序相同的位置下载先决条件)。 但是,当我构建解决方案时,它会显示以下错误: 要在“先决条件”对话框中启用“从与我的应用程序相同的位置下载先决条件”,必须将项目“SQL Server 2012 Express LocalDB”的文件“SqlLocalDB2012\x64\sqlncli.msi”下载到

我使用VS 2013,我希望sql server 2012 express localdb与我创建安装程序时的应用程序位于同一位置。因此,在项目属性>发布>先决条件中,我选择第二个选项(从与我的应用程序相同的位置下载先决条件)。
但是,当我构建解决方案时,它会显示以下错误:
要在“先决条件”对话框中启用“从与我的应用程序相同的位置下载先决条件”,必须将项目“SQL Server 2012 Express LocalDB”的文件“SqlLocalDB2012\x64\sqlncli.msi”下载到本地计算机。有关更多信息,请参阅。
我怎样才能解决这个问题?
谢谢大家!

我最近在应用程序中加入.NET framework 4.0时遇到了类似的问题。我最终能够解决这个问题,一旦我弄清楚它到底在哪里寻找丢失的文件

我假设您已经安装了某些版本的SQL Server(Express或其他)

如果您有Visual Studio 2013,则应具有以下文件夹:

C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\Bootstrapper\Packages\
在该文件夹中,您应该有一个“SqlLocalDB2012”文件夹

在该文件夹中应该有一个product.xml文件。这也是安装程序应该驻留的地方。在我的情况下,它们不存在,我必须收集它们并将它们放在product.xml文件的文件夹中(对于默认的英语安装程序)或子文件夹中(例如法语的fr)。(请注意,在我的例子中,我缺少的是.NET FrameWork安装程序,而不是SqlLocalDB2012,但我假设问题与我遇到的问题相同)

产品xml文件可以为您提供在计算机上查找丢失文件的线索。在我的例子中,前两个元素显示它正在SQL Server目录中查找内容:

<FileCheck
      Property="sqllocaldbVersion"
      FileName="sqlservr.exe"
      SearchPath="Program Files\Microsoft SQL Server\110\LocalDB\Binn"
      SpecialFolder="WindowsVolume"
    />
希望这能帮到你。

只需按照说明转到并下载所需的文件 棘手的一点是,您必须下载x86和x64文件,并将它们放在根文件夹中的x86和x64文件夹中

C:\ProgramFiles(x86)\Microsoft SDK\Windows\v8.1A\Bootstrapper\Packages\SqlLocalDB2012


在语言的子文件夹中。。。好极了我把意大利语版本放在根上。。。谢谢男人!!!!:)
C:\Program Files\Microsoft SQL Server\110\Setup Bootstrap