C# 如何使用数据库发布WPF

C# 如何使用数据库发布WPF,c#,wpf,entity-framework,release,C#,Wpf,Entity Framework,Release,我正在使用实体框架,现在想发布该软件-它附带了一个数据实体模型,作为本地主机托管在正在开发的PC上 是否有办法发布此文件,然后保存数据库? 每次我释放它,然后打开程序崩溃;当我发布它时,任何数据库代码都会很快出现红线错误,然后消失 任何帮助都将不胜感激。 编辑:数据库是否必须在线托管 编辑:当我在调试模式下运行它时,它不会崩溃,并且工作正常 编辑:我只将.exe文件移到了我的桌面上(不确定是否必须获取整个发布文件) 编辑:这是一个打印屏幕: 如果您使用的是实体框架,那么您的程序将需要这些程序集以

我正在使用实体框架,现在想发布该软件-它附带了一个数据实体模型,作为本地主机托管在正在开发的PC上

是否有办法发布此文件,然后保存数据库?

每次我释放它,然后打开程序崩溃;当我发布它时,任何数据库代码都会很快出现红线错误,然后消失

任何帮助都将不胜感激。

编辑:数据库是否必须在线托管

编辑:当我在调试模式下运行它时,它不会崩溃,并且工作正常

编辑:我只将.exe文件移到了我的桌面上(不确定是否必须获取整个发布文件)

编辑:这是一个打印屏幕:


如果您使用的是实体框架,那么您的程序将需要这些程序集以及它所依赖的任何其他程序集,它们与.exe文件位于同一文件夹中。可能解释了为什么它在调试中工作正常。Visual Studio会将依赖项复制到输出文件夹中。

您可以使用localhost进行发布。请显示您的错误。我没有错误,程序只是在登录时崩溃,我会用Gyazo更新@当我尝试登录时,它会崩溃,当我删除数据库代码并释放它时,它不会在登录时崩溃-在我看来,如果数据库没有被导出到应用程序中,这看起来很像。如果您使用的是Entity Framework,您的程序将需要这些程序集以及它所依赖的任何其他程序集,它们与.exe文件位于同一文件夹中。可能解释了为什么它在调试中工作正常。Visual Studio为您将依赖项复制到输出文件夹中。正如您所发布的,我只是将发布文件夹复制到桌面上,它工作正常。如果你加上这个作为回答,我可以接受@Jackhughe出于好奇,现在我似乎可以在发布包中打开这个数据库文件,这是一个很大的安全漏洞。如果我将这个项目发布给公众,我是否可以限制直接访问该文件或将其编译为.exe文件?它包含人们可以随意查看的敏感数据(当用户有数据访问权限并从在线应用程序更新信息时,应用程序会请求API,因此这确实需要安全)。对于像SQLite这样的数据库,您可以通过密码限制使用。这绝对不是万无一失的,因为你的代码需要知道密码,但它可能会挫败一个不成熟的浏览者。我使用了一个外部数据库,但非常感谢!